PageSourceSearch

https://dataflows.com.au/static/js/main.99cb15c8.js

js dataflows.com.au collected 2026-09-24 18:13:26 UTC 1,231,629 bytes, 3 lines download raw bytes

1/*! For license information please see main.99cb15c8.js.LICENSE.txt */
2(()=>{var e={138:function(e){e.exports=function(){function e(){return e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},e.apply(this,arguments)}function t(e,t){if(e){if("string"===typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var s=0,n=new Array(t);s<t;s++)n[s]=e[s];return n}function n(e,s){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=t(e))||s&&e&&"number"===typeof e.length){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i="image-Tb9Ew8CXIwaY6R1kjMvI0uRR-2000x3000-jpg";function r(e){var t=e.split("-"),s=t[1],n=t[2],r=t[3];if(!s||!n||!r)throw new Error("Malformed asset _ref '"+e+"'. Expected an id like \""+i+'".');var a=n.split("x"),o=+a[0],l=+a[1];if(!isFinite(o)||!isFinite(l))throw new Error("Malformed asset _ref '"+e+"'. Expected an id like \""+i+'".');return{id:s,width:o,height:l,format:r}}var a=function(e){return!!e&&"string"===typeof e._ref},o=function(e){return!!e&&"string"===typeof e._id},l=function(e){var t=e;return!(!t||!t.asset)&&"string"===typeof t.asset.url};function c(t){if(!t)return null;var s;if("string"===typeof t&&d(t))s={asset:{_ref:u(t)}};else if("string"===typeof t)s={asset:{_ref:t}};else if(a(t))s={asset:t};else if(o(t))s={asset:{_ref:t._id||""}};else if(l(t))s={asset:{_ref:u(t.asset.url)}};else{if("object"!==typeof t.asset)return null;s=e({},t)}var n=t;return n.crop&&(s.crop=n.crop),n.hotspot&&(s.hotspot=n.hotspot),h(s)}function d(e){return/^https?:\/\//.test(""+e)}function u(e){return("image-"+e.split("/").slice(-1)[0]).replace(/\.([a-z]+)$/,"-$1")}function h(t){if(t.crop&&t.hotspot)return t;var s=e({},t);return s.crop||(s.crop={left:0,top:0,bottom:0,right:0}),s.hotspot||(s.hotspot={x:.5,y:.5,height:1,width:1}),s}var p=[["width","w"],["height","h"],["format","fm"],["download","dl"],["blur","blur"],["sharpen","sharp"],["invert","invert"],["orientation","or"],["minHeight","min-h"],["maxHeight","max-h"],["minWidth","min-w"],["maxWidth","max-w"],["quality","q"],["fit","fit"],["crop","crop"],["saturation","sat"],["auto","auto"],["dpr","dpr"],["pad","pad"],["frame","frame"]];function m(t){var s=e({},t||{}),n=s.source;delete s.source;var i=c(n);if(!i)throw new Error("Unable to resolve image URL from source ("+JSON.stringify(n)+")");var a=r(i.asset._ref||i.asset._id||""),o=Math.round(i.crop.left*a.width),l=Math.round(i.crop.top*a.height),d={left:o,top:l,width:Math.round(a.width-i.crop.right*a.width-o),height:Math.round(a.height-i.crop.bottom*a.height-l)},u=i.hotspot.height*a.height/2,h=i.hotspot.width*a.width/2,p=i.hotspot.x*a.width,m=i.hotspot.y*a.height,y={left:p-h,top:m-u,right:p+h,bottom:m+u};return s.rect||s.focalPoint||s.ignoreImageParams||s.crop||(s=e({},s,g({crop:d,hotspot:y},s))),f(e({},s,{asset:a}))}function f(e){var t=(e.baseUrl||"https://cdn.sanity.io").replace(/\/+$/,""),s=e.vanityName?"/"+e.vanityName:"",n=e.asset.id+"-"+e.asset.width+"x"+e.asset.height+"."+e.asset.format+s,i=t+"/images/"+e.projectId+"/"+e.dataset+"/"+n,r=[];if(e.rect){var a=e.rect,o=a.left,l=a.top,c=a.width,d=a.height;(0!==o||0!==l||d!==e.asset.height||c!==e.asset.width)&&r.push("rect="+o+","+l+","+c+","+d)}e.bg&&r.push("bg="+e.bg),e.focalPoint&&(r.push("fp-x="+e.focalPoint.x),r.push("fp-y="+e.focalPoint.y));var u=[e.flipHorizontal&&"h",e.flipVertical&&"v"].filter(Boolean).join("");return u&&r.push("flip="+u),p.forEach((function(t){var s=t[0],n=t[1];"undefined"!==typeof e[s]?r.push(n+"="+encodeURIComponent(e[s])):"undefined"!==typeof e[n]&&r.push(n+"="+encodeURIComponent(e[n]))}
2)),0===r.length?i:i+"?"+r.join("&")}function g(e,t){var s,n=t.width,i=t.height;if(!n||!i)return{width:n,height:i,rect:e.crop};var r=e.crop,a=e.hotspot,o=n/i;if(r.width/r.height>o){var l=Math.round(r.height),c=Math.round(l*o),d=Math.max(0,Math.round(r.top)),u=Math.round((a.right-a.left)/2+a.left),h=Math.max(0,Math.round(u-c/2));h<r.left?h=r.left:h+c>r.left+r.width&&(h=r.left+r.width-c),s={left:h,top:d,width:c,height:l}}else{var p=r.width,m=Math.round(p/o),f=Math.max(0,Math.round(r.left)),g=Math.round((a.bottom-a.top)/2+a.top),y=Math.max(0,Math.round(g-m/2));y<r.top?y=r.top:y+m>r.top+r.height&&(y=r.top+r.height-m),s={left:f,top:y,width:p,height:m}}return{width:n,height:i,rect:s}}var y=["clip","crop","fill","fillmax","max","scale","min"],x=["top","bottom","left","right","center","focalpoint","entropy"],v=["format"];function j(e){return!(!e||!("config"in e))&&"function"===typeof e.config}function w(e){return!(!e||!("clientConfig"in e))&&"object"===typeof e.clientConfig}function b(e){for(var t,s=n(p);!(t=s()).done;){var i=t.value,r=i[0],a=i[1];if(e===r||e===a)return r}return e}function S(e){if(j(e)){var t=e.config(),s=t.apiHost,n=t.projectId,i=t.dataset;return new k(null,{baseUrl:(s||"https://api.sanity.io").replace(/^https:\/\/api\./,"https://cdn."),projectId:n,dataset:i})}if(w(e)){var r=e.clientConfig,a=r.apiHost,o=r.projectId,l=r.dataset;return new k(null,{baseUrl:(a||"https://api.sanity.io").replace(/^https:\/\/api\./,"https://cdn."),projectId:o,dataset:l})}return new k(null,e||{})}var k=function(){function t(t,s){this.options=void 0,this.options=t?e({},t.options||{},s||{}):e({},s||{})}var s=t.prototype;return s.withOptions=function(s){var n=s.baseUrl||this.options.baseUrl,i={baseUrl:n};for(var r in s)s.hasOwnProperty(r)&&(i[b(r)]=s[r]);return new t(this,e({baseUrl:n},i))},s.image=function(e){return this.withOptions({source:e})},s.dataset=function(e){return this.withOptions({dataset:e})},s.projectId=function(e){return this.withOptions({projectId:e})},s.bg=function(e){return this.withOptions({bg:e})},s.dpr=function(e){return this.withOptions(e&&1!==e?{dpr:e}:{})},s.width=function(e){return this.withOptions({width:e})},s.height=function(e){return this.withOptions({height:e})},s.focalPoint=function(e,t){return this.withOptions({focalPoint:{x:e,y:t}})},s.maxWidth=function(e){return this.withOptions({maxWidth:e})},s.minWidth=function(e){return this.withOptions({minWidth:e})},s.maxHeight=function(e){return this.withOptions({maxHeight:e})},s.minHeight=function(e){return this.withOptions({minHeight:e})},s.size=function(e,t){return this.withOptions({width:e,height:t})},s.blur=function(e){return this.withOptions({blur:e})},s.sharpen=function(e){return this.withOptions({sharpen:e})},s.rect=function(e,t,s,n){return this.withOptions({rect:{left:e,top:t,width:s,height:n}})},s.format=function(e){return this.withOptions({format:e})},s.invert=function(e){return this.withOptions({invert:e})},s.orientation=function(e){return this.withOptions({orientation:e})},s.quality=function(e){return this.withOptions({quality:e})},s.forceDownload=function(e){return this.withOptions({download:e})},s.flipHorizontal=function(){return this.withOptions({flipHorizontal:!0})},s.flipVertical=function(){return this.withOptions({flipVertical:!0})},s.ignoreImageParams=function(){return this.withOptions({ignoreImageParams:!0})},s.fit=function(e){if(-1===y.indexOf(e))throw new Error('Invalid fit mode "'+e+'"');return this.withOptions({fit:e})},s.crop=function(e){if(-1===x.indexOf(e))throw new Error('Invalid crop mode "'+e+'"');return this.withOptions({crop:e})},s.saturation=function(e){return this.withOptions({saturation:e})},s.auto=function(e){if(-1===v.indexOf(e))throw new Error('Invalid auto mode "'+e+'"');return this.withOptions({auto:e})},s.pad=function(e){return this.withOptions({pad:e})},s.vanityName=function(e){return this.withOptions({vanityName:e})},s.frame=function(e){if(1!==e)throw new Error('Invalid frame value "'+e+'"');return this.withOptions({frame:e})},s.url=function(){return m(this.options)},s.toString=function(){return this.url()},t}();return S}()},219:(e,t,s)=>{"use strict";var n=s(86),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0}
2,r={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},o={};function l(e){return n.isMemo(e)?a:o[e.$$typeof]||i}o[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},o[n.Memo]=a;var c=Object.defineProperty,d=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,h=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,s,n){if("string"!==typeof s){if(m){var i=p(s);i&&i!==m&&e(t,i,n)}var a=d(s);u&&(a=a.concat(u(s)));for(var o=l(t),f=l(s),g=0;g<a.length;++g){var y=a[g];if(!r[y]&&(!n||!n[y])&&(!f||!f[y])&&(!o||!o[y])){var x=h(s,y);try{c(t,y,x)}catch(v){}}}}return t}},740:e=>{"use strict";e.exports=function(e,t,s,n,i,r,a,o){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[s,n,i,r,a,o],d=0;(l=new Error(t.replace(/%s/g,(function(){return c[d++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},141:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},123:e=>{"use strict";var t=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},s=0;s<10;s++)t["_"+String.fromCharCode(s)]=s;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(i){return!1}}()?Object.assign:function(e,i){for(var r,a,o=function(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var c in r=Object(arguments[l]))s.call(r,c)&&(o[c]=r[c]);if(t){a=t(r);for(var d=0;d<a.length;d++)n.call(r,a[d])&&(o[a[d]]=r[a[d]])}}return o}},504:(e,t,s)=>{var n=s(141);e.exports=m,e.exports.parse=r,e.exports.compile=function(e,t){return l(r(e,t),t)},e.exports.tokensToFunction=l,e.exports.tokensToRegExp=p;var i=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function r(e,t){for(var s,n=[],r=0,o=0,l="",c=t&&t.delimiter||"/";null!=(s=i.exec(e));){var u=s[0],h=s[1],p=s.index;if(l+=e.slice(o,p),o=p+u.length,h)l+=h[1];else{var m=e[o],f=s[2],g=s[3],y=s[4],x=s[5],v=s[6],j=s[7];l&&(n.push(l),l="");var w=null!=f&&null!=m&&m!==f,b="+"===v||"*"===v,S="?"===v||"*"===v,k=f||c,N=y||x,A=f||("string"===typeof n[n.length-1]?n[n.length-1]:"");n.push({name:g||r++,prefix:f||"",delimiter:k,optional:S,repeat:b,partial:w,asterisk:!!j,pattern:N?d(N):j?".*":a(k,A)})}}return o<e.length&&(l+=e.substr(o)),l&&n.push(l),n}function a(e,t){return!t||t.indexOf(e)>-1?"[^"+c(e)+"]+?":c(t)+"|(?:(?!"+c(t)+")[^"+c(e)+"])+?"}function o(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function l(e,t){for(var s=new Array(e.length),i=0;i<e.length;i++)"object"===typeof e[i]&&(s[i]=new RegExp("^(?:"+e[i].pattern+")$",h(t)));return function(t,i){for(var r="",a=t||{},l=(i||{}).pretty?o:encodeURIComponent,c=0;c<e.length;c++){var d=e[c];if("string"!==typeof d){var u,h=a[d.name];if(null==h){if(d.optional){d.partial&&(r+=d.prefix);continue}throw new TypeError('Expected "'+d.name+'" to be defined')}if(n(h)){if(!d.repeat)throw new TypeError('Expected "'+d.name+'" to not repeat, but received `'+JSON.stringify(h)+"`");if(0===h.length){if(d.optional)continue;throw new TypeError('Expected "'+d.name+'" to not be empty')}for(var p=0;p<h.length;p++){if(u=l(h[p]),!s[c].test(u))throw new TypeError('Expected all "'+d.name+'" to match "'+d.pattern+'", but received `'+JSON.stringify(u)+"`");r+=(0===p?d.prefix:d.delimiter)+u}}else{if(u=d.asterisk?encodeURI(h).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(h),!s[c].test(u))throw new TypeError('Expected "'+d.name+'" to match "'+d.pattern+'", but received "'+u+'"');r+=d.prefix+u}}else r+=d}return r}}function c(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function d(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function h(e){return e&&e.sensitive?"":"i"}function p(e,t,s){n(t)||(s=t||s,t=[]);for(var i=(s=s||{}).strict,r=!1!==s.end,a="",o=0;o<e.length;o++){var l=e[o];if("string"===typeof l)a+=c(l);else{var d=c(l.prefix),p="(?:"+l.pattern+")";t.push(l),l.repeat&&(p+="(?:"+d+p+")*"),a+=p=l.optional?l.partial?d+"("+p+")?":"(?:"+d+"("+p+"))?":d+"("+p+")"}}var m=c(s.delimiter||"/"),f=a.slice(-m.length)===m;
vendor: 1,203 bytes, line 2
2return i||(a=(f?a.slice(0,-m.length):a)+"(?:"+m+"(?=$))?"),a+=r?"$":i&&f?"":"(?="+m+"|$)",u(new RegExp("^"+a,h(s)),t)}function m(e,t,s){return n(t)||(s=t||s,t=[]),s=s||{},e instanceof RegExp?function(e,t){var s=e.source.match(/\((?!\?)/g);if(s)for(var n=0;n<s.length;n++)t.push({name:n,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return u(e,t)}(e,t):n(e)?function(e,t,s){for(var n=[],i=0;i<e.length;i++)n.push(m(e[i],t,s).source);return u(new RegExp("(?:"+n.join("|")+")",h(s)),t)}(e,t,s):function(e,t,s){return p(r(e,s),t,s)}(e,t,s)}},497:(e,t,s)=>{"use strict";var n=s(218);function i(){}function r(){}r.resetWarningCache=i,e.exports=function(){function e(e,t,s,i,r,a){if(a!==n){var o=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var s={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:i}
vendor: 4,644 bytes, line 2
2;return s.PropTypes=s,s}},173:(e,t,s)=>{e.exports=s(497)()},218:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},730:(e,t,s)=>{"use strict";var n=s(43),i=s(123),r=s(853);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,s=1;s<arguments.length;s++)t+="&args[]="+encodeURIComponent(arguments[s]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!n)throw Error(a(227));var o=new Set,l={};function c(e,t){d(e,t),d(e+"Capture",t)}function d(e,t){for(l[e]=t,e=0;e<t.length;e++)o.add(t[e])}var u=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),h=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p=Object.prototype.hasOwnProperty,m={},f={};function g(e,t,s,n,i,r,a){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=n,this.attributeNamespace=i,this.mustUseProperty=s,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=a}var y={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){y[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];y[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){y[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){y[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){y[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){y[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){y[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){y[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){y[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var x=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function j(e,t,s,n){var i=y.hasOwnProperty(t)?y[t]:null;(null!==i?0===i.type:!n&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,s,n){if(null===t||"undefined"===typeof t||function(e,t,s,n){if(null!==s&&0===s.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!n&&(null!==s?!s.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,s,n))return!0;if(n)return!1;if(null!==s)switch(s.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,s,i,n)&&(s=null),n||null===i?function(e){return!!p.call(f,e)||!p.call(m,e)&&(h.test(e)?f[e]=!0:(m[e]=!0,!1))}(t)&&(null===s?e.removeAttribute(t):e.setAttribute(t,""+s)):i.mustUseProperty?e[i.propertyName]=null===s?3!==i.type&&"":s:(t=i.attributeName,n=i.attributeNamespace,null===s?e.removeAttribute(t):(s=3===(i=i.type)||4===i&&!0===s?"":""+s,n?e.setAttributeNS(n,t,s):e.setAttribute(t,s))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode
2-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(x,v);y[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(x,v);y[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(x,v);y[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){y[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),y.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){y[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,b=60103,S=60106,k=60107,N=60108,A=60114,_=60109,M=60110,C=60112,T=60113,E=60120,I=60115,P=60116,D=60121,F=60128,O=60129,R=60130,L=60131;if("function"===typeof Symbol&&Symbol.for){var q=Symbol.for;b=q("react.element"),S=q("react.portal"),k=q("react.fragment"),N=q("react.strict_mode"),A=q("react.profiler"),_=q("react.provider"),M=q("react.context"),C=q("react.forward_ref"),T=q("react.suspense"),E=q("react.suspense_list"),I=q("react.memo"),P=q("react.lazy"),D=q("react.block"),q("react.scope"),F=q("react.opaque.id"),O=q("react.debug_trace_mode"),R=q("react.offscreen"),L=q("react.legacy_hidden")}var z,U="function"===typeof Symbol&&Symbol.iterator;function B(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=U&&e[U]||e["@@iterator"])?e:null}function W(e){if(void 0===z)try{throw Error()}catch(s){var t=s.stack.trim().match(/\n( *(at )?)/);z=t&&t[1]||""}return"\n"+z+e}var H=!1;function Z(e,t){if(!e||H)return"";H=!0;var s=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var n=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){n=l}e.call(t.prototype)}else{try{throw Error()}catch(l){n=l}e()}}catch(l){if(l&&n&&"string"===typeof l.stack){for(var i=l.stack.split("\n"),r=n.stack.split("\n"),a=i.length-1,o=r.length-1;1<=a&&0<=o&&i[a]!==r[o];)o--;for(;1<=a&&0<=o;a--,o--)if(i[a]!==r[o]){if(1!==a||1!==o)do{if(a--,0>--o||i[a]!==r[o])return"\n"+i[a].replace(" at new "," at ")}while(1<=a&&0<=o);break}}}finally{H=!1,Error.prepareStackTrace=s}return(e=e?e.displayName||e.name:"")?W(e):""}function $(e){switch(e.tag){case 5:return W(e.type);case 16:return W("Lazy");case 13:return W("Suspense");case 19:return W("SuspenseList");case 0:case 2:case 15:return e=Z(e.type,!1);case 11:return e=Z(e.type.render,!1);case 22:return e=Z(e.type._render,!1);case 1:return e=Z(e.type,!0);default:return""}}function G(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case k:return"Fragment";case S:return"Portal";case A:return"Profiler";case N:return"StrictMode";case T:return"Suspense";case E:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case M:return(e.displayName||"Context")+".Consumer";case _:return(e._context.displayName||"Context")+".Provider";case C:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case I:return G(e.type);case D:return G(e._render);case P:t=e._payload,e=e._init;try{return G(e(t))}catch(s){}}return null}function V(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function Y(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function K(e){e._valueTracker||(e._valueTracker=function(e){var t=Y(e)?"checked":"value",s=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof s&&"function"===typeof s.get&&"function"===typeof s.set){var i=s.get,r=s.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=""+e,r.call(this,e)}}),Object.defineProperty(e,t,{enumerable:s.enumerable}),{getValue:function(){return n},setValue:function(e){n=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var s=t.getValue(),n="";return e&&(n=Y(e)?e.checked?"true":"false":e.value),(e=n)!==s&&(t.setValue(e),!0)}function X(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var s=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=s?s:e._wrapperState.initialChecked})}function ee(e,t){var s=null==t.defaultValue?"":t.defaultValue,n=null!=t.checked?t.checked:t.defaultChecked;s=V(null!=t.value?t.value:s),e._wrapperState={initialChecked:n,initialValue:s,
vendor: 5,247 bytes, line 2
2controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&j(e,"checked",t,!1)}function se(e,t){te(e,t);var s=V(t.value),n=t.type;if(null!=s)"number"===n?(0===s&&""===e.value||e.value!=s)&&(e.value=""+s):e.value!==""+s&&(e.value=""+s);else if("submit"===n||"reset"===n)return void e.removeAttribute("value");t.hasOwnProperty("value")?ie(e,t.type,s):t.hasOwnProperty("defaultValue")&&ie(e,t.type,V(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function ne(e,t,s){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!("submit"!==n&&"reset"!==n||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,s||t===e.value||(e.value=t),e.defaultValue=t}""!==(s=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==s&&(e.name=s)}function ie(e,t,s){"number"===t&&X(e.ownerDocument)===e||(null==s?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+s&&(e.defaultValue=""+s))}function re(e,t){return e=i({children:void 0},t),(t=function(e){var t="";return n.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ae(e,t,s,n){if(e=e.options,t){t={};for(var i=0;i<s.length;i++)t["$"+s[i]]=!0;for(s=0;s<e.length;s++)i=t.hasOwnProperty("$"+e[s].value),e[s].selected!==i&&(e[s].selected=i),i&&n&&(e[s].defaultSelected=!0)}else{for(s=""+V(s),t=null,i=0;i<e.length;i++){if(e[i].value===s)return e[i].selected=!0,void(n&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function oe(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return i({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var s=t.value;if(null==s){if(s=t.children,t=t.defaultValue,null!=s){if(null!=t)throw Error(a(92));if(Array.isArray(s)){if(!(1>=s.length))throw Error(a(93));s=s[0]}t=s}null==t&&(t=""),s=t}e._wrapperState={initialValue:V(s)}}function ce(e,t){var s=V(t.value),n=V(t.defaultValue);null!=s&&((s=""+s)!==e.value&&(e.value=s),null==t.defaultValue&&e.defaultValue!==s&&(e.defaultValue=s)),null!=n&&(e.defaultValue=""+n)}function de(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var ue="http://www.w3.org/1999/xhtml",he="http://www.w3.org/2000/svg";function pe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function me(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?pe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var fe,ge,ye=(ge=function(e,t){if(e.namespaceURI!==he||"innerHTML"in e)e.innerHTML=t;else{for((fe=fe||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=fe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,s,n){MSApp.execUnsafeLocalFunction((function(){return ge(e,t)}))}:ge);function xe(e,t){if(t){var s=e.firstChild;if(s&&s===e.lastChild&&3===s.nodeType)return void(s.nodeValue=t)}e.textContent=t}var ve={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},je=["Webkit","ms","Moz","O"];function we(e,t,s){return null==t||"boolean"===typeof t||""===t?"":s||"number"!==typeof t||0===t||ve.hasOwnProperty(e)&&ve[e]?(""+t).trim():t+"px"}function be(e,t){for(var s in e=e.style,t)if(t.hasOwnProperty(s)){var n=0===s.indexOf("--"),i=we(s,t[s],n);"float"===s&&(s="cssFloat"),n?e.setProperty(s,i):e[s]=i}}Object.keys(ve).forEach((function(e){je.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ve[t]=ve[e]}))}));var Se=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ke(e,t){if(t){if(Se[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(a(62))}}function Ne(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ae(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.n
vendor: 12,894 bytes, line 2
2odeType?e.parentNode:e}var _e=null,Me=null,Ce=null;function Te(e){if(e=ni(e)){if("function"!==typeof _e)throw Error(a(280));var t=e.stateNode;t&&(t=ri(t),_e(e.stateNode,e.type,t))}}function Ee(e){Me?Ce?Ce.push(e):Ce=[e]:Me=e}function Ie(){if(Me){var e=Me,t=Ce;if(Ce=Me=null,Te(e),t)for(e=0;e<t.length;e++)Te(t[e])}}function Pe(e,t){return e(t)}function De(e,t,s,n,i){return e(t,s,n,i)}function Fe(){}var Oe=Pe,Re=!1,Le=!1;function qe(){null===Me&&null===Ce||(Fe(),Ie())}function ze(e,t){var s=e.stateNode;if(null===s)return null;var n=ri(s);if(null===n)return null;s=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(n=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!n;break e;default:e=!1}if(e)return null;if(s&&"function"!==typeof s)throw Error(a(231,t,typeof s));return s}var Ue=!1;if(u)try{var Be={};Object.defineProperty(Be,"passive",{get:function(){Ue=!0}}),window.addEventListener("test",Be,Be),window.removeEventListener("test",Be,Be)}catch(ge){Ue=!1}function We(e,t,s,n,i,r,a,o,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(s,c)}catch(d){this.onError(d)}}var He=!1,Ze=null,$e=!1,Ge=null,Ve={onError:function(e){He=!0,Ze=e}};function Ye(e,t,s,n,i,r,a,o,l){He=!1,Ze=null,We.apply(Ve,arguments)}function Ke(e){var t=e,s=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(1026&(t=e).flags)&&(s=t.return),e=t.return}while(e)}return 3===t.tag?s:null}function Qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Xe(e){if(Ke(e)!==e)throw Error(a(188))}function Je(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ke(e)))throw Error(a(188));return t!==e?null:e}for(var s=e,n=t;;){var i=s.return;if(null===i)break;var r=i.alternate;if(null===r){if(null!==(n=i.return)){s=n;continue}break}if(i.child===r.child){for(r=i.child;r;){if(r===s)return Xe(i),e;if(r===n)return Xe(i),t;r=r.sibling}throw Error(a(188))}if(s.return!==n.return)s=i,n=r;else{for(var o=!1,l=i.child;l;){if(l===s){o=!0,s=i,n=r;break}if(l===n){o=!0,n=i,s=r;break}l=l.sibling}if(!o){for(l=r.child;l;){if(l===s){o=!0,s=r,n=i;break}if(l===n){o=!0,n=r,s=i;break}l=l.sibling}if(!o)throw Error(a(189))}}if(s.alternate!==n)throw Error(a(190))}if(3!==s.tag)throw Error(a(188));return s.stateNode.current===s?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function et(e,t){for(var s=e.alternate;null!==t;){if(t===e||t===s)return!0;t=t.return}return!1}var tt,st,nt,it,rt=!1,at=[],ot=null,lt=null,ct=null,dt=new Map,ut=new Map,ht=[],pt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function mt(e,t,s,n,i){return{blockedOn:e,domEventName:t,eventSystemFlags:16|s,nativeEvent:i,targetContainers:[n]}}function ft(e,t){switch(e){case"focusin":case"focusout":ot=null;break;case"dragenter":case"dragleave":lt=null;break;case"mouseover":case"mouseout":ct=null;break;case"pointerover":case"pointerout":dt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ut.delete(t.pointerId)}}function gt(e,t,s,n,i,r){return null===e||e.nativeEvent!==r?(e=mt(t,s,n,i,r),null!==t&&(null!==(t=ni(t))&&st(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,null!==i&&-1===t.indexOf(i)&&t.push(i),e)}function yt(e){var t=si(e.target);if(null!==t){var s=Ke(t);if(null!==s)if(13===(t=s.tag)){if(null!==(t=Qe(s)))return e.blockedOn=t,void it(e.lanePriority,(function(){r.unstable_runWithPriority(e.priority,(function(){nt(s)}))}))}else if(3===t&&s.stateNode.hydrate)return void(e.blockedOn=3===s.tag?s.stateNode.containerInfo:null)}e.blockedOn=null}function xt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var s=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==s)return null!==(t=ni(s))&&st(t),e.blockedOn=s,!1;t.shift()}return!0}function vt(e,t,s){xt(e)&&s.delete(t)}function jt(){for(rt=!1;0<at.length;){var e=at[0];if(null!==e.blockedOn){null!==(e=ni(e.blockedOn))&&tt(e);break}for(var t=e.targetContainers;0<t.length;){var s=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==s){e.blockedOn=s;break}t.shift()}null===e.blockedOn&&at.shift()}null!==ot&&xt(ot)&&(ot=null),null!==lt&&xt(lt)&&(lt=null),null!==ct&&xt(ct)&&(ct=null),dt.forEach(vt),ut.forEach(vt)}function wt(e,t){e.blockedOn===t&&(e.blockedOn=null,rt||(rt=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,jt)))}function bt(e){function t(t){return wt(t,e)}if(0<at.length){wt(at[0],e);for(var s=1;s<at.length;s++){var n=at[s];n.blockedOn===e&&(n.blockedOn=null)}}for(null!==ot&&wt(ot,e),null!==lt&&wt(lt,e),null!==ct&&wt(ct,e),dt.forEach(t),ut.forEach(t),s=0;s<ht.length;s++)(n=ht[s]).blockedOn===e&&(n.blockedOn=null);for(;0<ht.length&&null===(s=ht[0]).blockedOn;)yt(s),null===s.blockedOn&&ht.shift()}function St(e,t){var s={};return s[e.toLowerCase()]=t.toLowerCase(),s["Webkit"+e]="webkit"+t,s["Moz"+e]="moz"+t,s}var kt={animationend:St("Animation","AnimationEnd"),animationiteration:St("Animation","AnimationIteration"),animationstart:St("Animation","AnimationStart"),transitionend:St("Transition","TransitionEnd")},Nt={},At={};function _t(e){if(Nt[e])return Nt[e];if(!kt[e])return e;var t,s=kt[e];for(t in s)if(s.hasOwnProperty(t)&&t in At)return Nt[e]=s[t];return e}u&&(At=document.createElement("div").style,"AnimationEvent"in window||(delete kt.animationend.animation,delete kt.animationiteration.animation,delete kt.animationstart.animation),"TransitionEvent"in window||delete kt.transitionend.transition);var Mt=_t("animationend"),Ct=_t("animationiteration"),Tt=_t("animationstart"),Et=_t("transitionend"),It=new Map,Pt=new Map,Dt=["abort","abort",Mt,"animationEnd",Ct,"animationIteration",Tt,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Et,"transitionEnd","waiting","waiting"];function Ft(e,t){for(var s=0;s<e.length;s+=2){var n=e[s],i=e[s+1];i="on"+(i[0].toUpperCase()+i.slice(1)),Pt.set(n,t),It.set(n,i),c(i,[n])}}(0,r.unstable_now)();var Ot=8;function Rt(e){if(0!==(1&e))return Ot=15,1;if(0!==(2&e))return Ot=14,2;if(0!==(4&e))return Ot=13,4;var t=24&e;return 0!==t?(Ot=12,t):0!==(32&e)?(Ot=11,32):0!==(t=192&e)?(Ot=10,t):0!==(256&e)?(Ot=9,256):0!==(t=3584&e)?(Ot=8,t):0!==(4096&e)?(Ot=7,4096):0!==(t=4186112&e)?(Ot=6,t):0!==(t=62914560&e)?(Ot=5,t):67108864&e?(Ot=4,67108864):0!==(134217728&e)?(Ot=3,134217728):0!==(t=805306368&e)?(Ot=2,t):0!==(1073741824&e)?(Ot=1,1073741824):(Ot=8,e)}function Lt(e,t){var s=e.pendingLanes;if(0===s)return Ot=0;var n=0,i=0,r=e.expiredLanes,a=e.suspendedLanes,o=e.pingedLanes;if(0!==r)n=r,i=Ot=15;else if(0!==(r=134217727&s)){var l=r&~a;0!==l?(n=Rt(l),i=Ot):0!==(o&=r)&&(n=Rt(o),i=Ot)}else 0!==(r=s&~a)?(n=Rt(r),i=Ot):0!==o&&(n=Rt(o),i=Ot);if(0===n)return 0;if(n=s&((0>(n=31-Ht(n))?0:1<<n)<<1)-1,0!==t&&t!==n&&0===(t&a)){if(Rt(t),i<=Ot)return t;Ot=i}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=n;0<t;)i=1<<(s=31-Ht(t)),n|=e[s],t&=~i;return n}function qt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function zt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Ut(24&~t))?zt(10,t):e;case 10:return 0===(e=Ut(192&~t))?zt(8,t):e;case 8:return 0===(e=Ut(3584&~t))&&(0===(e=Ut(4186112&~t))&&(e=512)),e;case 2:return 0===(t=Ut(805306368&~t))&&(t=268435456),t}throw Error(a(358,e))}function Ut(e){return e&-e}function Bt(e){for(var t=[],s=0;31>s;s++)t.push(e);return t}function Wt(e,t,s){e.pendingLanes|=t;var n=t-1;e.suspendedLanes&=n,e.pingedLanes&=n,(e=e.eventTimes)[t=31-Ht(t)]=s}var Ht=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Zt(e)/$t|0)|0},Zt=Math.log,$t=Math.LN2;var Gt=r.unstable_UserBlockingPriority,Vt=r.unstable_runWithPriority,Yt=!0;function Kt(e,t,s,n){Re||Fe();var i=Xt,r=Re;Re=!0;try{De(i,e,t,s,n)}finally{(Re=r)||qe()}}function Qt(e,t,s,n){Vt(Gt,Xt.bind(null,e,t,s,n))}function Xt(e,t,s,n){var i;if(Yt)if((i=0===(4&t))&&0<at.length&&-1<pt.indexOf(e))e=mt(null,e,t,s,n),at.push(e);else{var r=Jt(e,t,s,n);if(null===r)i&&ft(e,n);else{if(i){if(-1<pt.indexOf(e))return e=mt(r,e,t,s,n),void at.push(e);if(function(e,t,s,n,i){switch(t){case"focusin":return ot=gt(ot,e,t,s,n,i),!0;case"dragenter":return lt=gt(lt,e,t,s,n,i),!0;case"mouseover":return ct=gt(ct,e,t,s,n,i),!0;case"pointerover":var r=i.pointerId;return dt.set(r,gt(dt.get(r)||null,e,t,s,n,i)),!0;case"gotpointercapture":return r=i.pointerId,ut.set(r,gt(ut.get(r)||null,e,t,s,n,i)),!0}return!1}(r,e,t,s,n))return;ft(e,n)}Fn(e,t,n,null,s)}}}function Jt(e,t,s,n){var i=Ae(n);if(null!==(i=si(i))){var r=Ke(i);if(null===r)i=null;else{var a=r.tag;if(13===a){if(null!==(i=Qe(r)))return i;i=null}else if(3===a){if(r.stateNode.hydrate)return 3===r.tag?r.stateNode.containerInfo:null;i=null}else r!==i&&(i=null)}}return Fn(e,t,n,i,s),null}var es=null,ts=null,ss=null;function ns(){if(ss)return ss;var e,t,s=ts,n=s.length,i="value"in es?es.value:es.textContent,r=i.length;for(e=0;e<n&&s[e]===i[e];e++);var a=n-e;for(t=1;t<=a&&s[n-t]===i[r-t];t++);return ss=i.slice(e,1<t?1-t:void 0)}function is(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function rs(){return!0}function as(){return!1}function os(e){function t(t,s,n,i,r){for(var a in this._reactName=t,this._targetInst=n,this.type=s,this.nativeEvent=i,this.target=r,this.currentTarget=null,e)e.hasOwnProperty(a)&&(t=e[a],this[a]=t?t(i):i[a]);return this.isDefaultPrevented=(null!=i.defaultPrevented?i.defaultPrevented:!1===i.returnValue)?rs:as,this.isPropagationStopped=as,this}return i(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=rs)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=rs)},persist:function(){},isPersistent:rs}),t}var ls,cs,ds,us={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},hs=os(us),ps=i({},us,{view:0,detail:0}),ms=os(ps),fs=i({},ps,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:_s,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ds&&(ds&&"mousemove"===e.type?(ls=e.screenX-ds.screenX,cs=e.screenY-ds.screenY):cs=ls=0,ds=e),ls)},movementY:function(e){return"movementY"in e?e.movementY:cs}}),gs=os(fs),ys=os(i({},fs,{dataTransfer:0})),xs=os(i({},ps,{relatedTarget:0})),vs=os(i({},us,{animationName:0,elapsedTime:0,pseudoElement:0})),js=i({},us,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),ws=os(js),bs=os(i({},us,{data:0})),Ss={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ks={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Ns={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function As(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Ns[e])&&!!t[e]}function _s(){return As}var Ms=i({},ps,{key:function(e){if(e.key){var t=Ss[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=is(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"ke
2yup"===e.type?ks[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:_s,charCode:function(e){return"keypress"===e.type?is(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?is(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Cs=os(Ms),Ts=os(i({},fs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Es=os(i({},ps,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:_s})),Is=os(i({},us,{propertyName:0,elapsedTime:0,pseudoElement:0})),Ps=i({},fs,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Ds=os(Ps),Fs=[9,13,27,32],Os=u&&"CompositionEvent"in window,Rs=null;u&&"documentMode"in document&&(Rs=document.documentMode);var Ls=u&&"TextEvent"in window&&!Rs,qs=u&&(!Os||Rs&&8<Rs&&11>=Rs),zs=String.fromCharCode(32),Us=!1;function Bs(e,t){switch(e){case"keyup":return-1!==Fs.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ws(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Hs=!1;var Zs={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function $s(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Zs[e.type]:"textarea"===t}function Gs(e,t,s,n){Ee(n),0<(t=Rn(t,"onChange")).length&&(s=new hs("onChange","change",null,s,n),e.push({event:s,listeners:t}))}var Vs=null,Ys=null;function Ks(e){Cn(e,0)}function Qs(e){if(Q(ii(e)))return e}function Xs(e,t){if("change"===e)return t}var Js=!1;if(u){var en;if(u){var tn="oninput"in document;if(!tn){var sn=document.createElement("div");sn.setAttribute("oninput","return;"),tn="function"===typeof sn.oninput}en=tn}else en=!1;Js=en&&(!document.documentMode||9<document.documentMode)}function nn(){Vs&&(Vs.detachEvent("onpropertychange",rn),Ys=Vs=null)}function rn(e){if("value"===e.propertyName&&Qs(Ys)){var t=[];if(Gs(t,Ys,e,Ae(e)),e=Ks,Re)e(t);else{Re=!0;try{Pe(e,t)}finally{Re=!1,qe()}}}}function an(e,t,s){"focusin"===e?(nn(),Ys=s,(Vs=t).attachEvent("onpropertychange",rn)):"focusout"===e&&nn()}function on(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qs(Ys)}function ln(e,t){if("click"===e)return Qs(t)}function cn(e,t){if("input"===e||"change"===e)return Qs(t)}var dn="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},un=Object.prototype.hasOwnProperty;function hn(e,t){if(dn(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var s=Object.keys(e),n=Object.keys(t);if(s.length!==n.length)return!1;for(n=0;n<s.length;n++)if(!un.call(t,s[n])||!dn(e[s[n]],t[s[n]]))return!1;return!0}function pn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function mn(e,t){var s,n=pn(e);for(e=0;n;){if(3===n.nodeType){if(s=e+n.textContent.length,e<=t&&s>=t)return{node:n,offset:t-e};e=s}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=pn(n)}}function fn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?fn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function gn(){for(var e=window,t=X();t instanceof e.HTMLIFrameElement;){try{var s="string"===typeof t.contentWindow.location.href}catch(n){s=!1}if(!s)break;t=X((e=t.contentWindow).document)}return t}function yn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var xn=u&&"documentMode"in document&&11>=document.documentMode,vn=null,jn=null,wn=null,bn=!1;function Sn(e,t,s){var n=s.window===s?s.document:9===s.nodeType?s:s.ownerDocument;bn||null==vn||vn!==X(n)||("selectionStart"in(n=vn)&&yn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focu
vendor: 6,037 bytes, line 2
2sNode:n.focusNode,focusOffset:n.focusOffset},wn&&hn(wn,n)||(wn=n,0<(n=Rn(jn,"onSelect")).length&&(t=new hs("onSelect","select",null,t,s),e.push({event:t,listeners:n}),t.target=vn)))}Ft("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Ft("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Ft(Dt,2);for(var kn="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),Nn=0;Nn<kn.length;Nn++)Pt.set(kn[Nn],0);d("onMouseEnter",["mouseout","mouseover"]),d("onMouseLeave",["mouseout","mouseover"]),d("onPointerEnter",["pointerout","pointerover"]),d("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var An="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),_n=new Set("cancel close invalid load scroll toggle".split(" ").concat(An));function Mn(e,t,s){var n=e.type||"unknown-event";e.currentTarget=s,function(e,t,s,n,i,r,o,l,c){if(Ye.apply(this,arguments),He){if(!He)throw Error(a(198));var d=Ze;He=!1,Ze=null,$e||($e=!0,Ge=d)}}(n,t,void 0,e),e.currentTarget=null}function Cn(e,t){t=0!==(4&t);for(var s=0;s<e.length;s++){var n=e[s],i=n.event;n=n.listeners;e:{var r=void 0;if(t)for(var a=n.length-1;0<=a;a--){var o=n[a],l=o.instance,c=o.currentTarget;if(o=o.listener,l!==r&&i.isPropagationStopped())break e;Mn(i,o,c),r=l}else for(a=0;a<n.length;a++){if(l=(o=n[a]).instance,c=o.currentTarget,o=o.listener,l!==r&&i.isPropagationStopped())break e;Mn(i,o,c),r=l}}}if($e)throw e=Ge,$e=!1,Ge=null,e}function Tn(e,t){var s=ai(t),n=e+"__bubble";s.has(n)||(Dn(t,e,2,!1),s.add(n))}var En="_reactListening"+Math.random().toString(36).slice(2);function In(e){e[En]||(e[En]=!0,o.forEach((function(t){_n.has(t)||Pn(t,!1,e,null),Pn(t,!0,e,null)})))}function Pn(e,t,s,n){var i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,r=s;if("selectionchange"===e&&9!==s.nodeType&&(r=s.ownerDocument),null!==n&&!t&&_n.has(e)){if("scroll"!==e)return;i|=2,r=n}var a=ai(r),o=e+"__"+(t?"capture":"bubble");a.has(o)||(t&&(i|=4),Dn(r,e,i,t),a.add(o))}function Dn(e,t,s,n){var i=Pt.get(t);switch(void 0===i?2:i){case 0:i=Kt;break;case 1:i=Qt;break;default:i=Xt}s=i.bind(null,t,s,e),i=void 0,!Ue||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(i=!0),n?void 0!==i?e.addEventListener(t,s,{capture:!0,passive:i}):e.addEventListener(t,s,!0):void 0!==i?e.addEventListener(t,s,{passive:i}):e.addEventListener(t,s,!1)}function Fn(e,t,s,n,i){var r=n;if(0===(1&t)&&0===(2&t)&&null!==n)e:for(;;){if(null===n)return;var a=n.tag;if(3===a||4===a){var o=n.stateNode.containerInfo;if(o===i||8===o.nodeType&&o.parentNode===i)break;if(4===a)for(a=n.return;null!==a;){var l=a.tag;if((3===l||4===l)&&((l=a.stateNode.containerInfo)===i||8===l.nodeType&&l.parentNode===i))return;a=a.return}for(;null!==o;){if(null===(a=si(o)))return;if(5===(l=a.tag)||6===l){n=r=a;continue e}o=o.parentNode}}n=n.return}!function(e,t,s){if(Le)return e(t,s);Le=!0;try{return Oe(e,t,s)}finally{Le=!1,qe()}}((function(){var n=r,i=Ae(s),a=[];e:{var o=It.get(e);if(void 0!==o){var l=hs,c=e;switch(e){case"keypress":if(0===is(s))break e;case"keydown":case"keyup":l=Cs;break;case"focusin":c="focus",l=xs;break;case"focusout":c="blur",l=xs;break;case"beforeblur":case"afterblur":l=xs;break;case"click":if(2===s.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=gs;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=ys;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Es;break;case Mt:case Ct:case Tt:l=vs;break;case Et:l=Is;break;case"scroll":l=ms;break;case"wheel":l=Ds;break;case"copy":case"cut":case"paste":l=ws;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Ts}var d=0!==(4&t),u=!d&&"scroll"===e,h=d?null!==o?o+"Capture":null:o;d=[];for(var p,m=n;null!==m;){var f=(p=m).stateNode;if(5===p.tag&&null!==f&&(p=f,null!==h&&(null!=(f=ze(m,h))&&d.push(On(m,f,p)))),u)break;m=m.return}0<d.length&&(o=new l(o,c,null,s,i),a.push({event:o,listeners:d}))}}if(0===(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(o="mouseover"===e||"pointerover"===e)||0!==(16&t)||!(c=s.relatedTarget||s.fromElement)||!si(c)&&!c[ei])&&(l||o)&&(o=i.window===i?i:(o=i.ownerDocument)?o.defaultView||o.parentWindow:window,l?(l=n,null!==(c=(c=s.relatedTarget||s.toElement)?si(c):null)&&(c!==(u=Ke(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=n),l!==c)){if(d=gs,f="onMouseLeave",h="onMouseEnter",m="mou
2se","pointerout"!==e&&"pointerover"!==e||(d=Ts,f="onPointerLeave",h="onPointerEnter",m="pointer"),u=null==l?o:ii(l),p=null==c?o:ii(c),(o=new d(f,m+"leave",l,s,i)).target=u,o.relatedTarget=p,f=null,si(i)===n&&((d=new d(h,m+"enter",c,s,i)).target=p,d.relatedTarget=u,f=d),u=f,l&&c)e:{for(h=c,m=0,p=d=l;p;p=Ln(p))m++;for(p=0,f=h;f;f=Ln(f))p++;for(;0<m-p;)d=Ln(d),m--;for(;0<p-m;)h=Ln(h),p--;for(;m--;){if(d===h||null!==h&&d===h.alternate)break e;d=Ln(d),h=Ln(h)}d=null}else d=null;null!==l&&qn(a,o,l,d,!1),null!==c&&null!==u&&qn(a,u,c,d,!0)}if("select"===(l=(o=n?ii(n):window).nodeName&&o.nodeName.toLowerCase())||"input"===l&&"file"===o.type)var g=Xs;else if($s(o))if(Js)g=cn;else{g=on;var y=an}else(l=o.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===o.type||"radio"===o.type)&&(g=ln);switch(g&&(g=g(e,n))?Gs(a,g,s,i):(y&&y(e,o,n),"focusout"===e&&(y=o._wrapperState)&&y.controlled&&"number"===o.type&&ie(o,"number",o.value)),y=n?ii(n):window,e){case"focusin":($s(y)||"true"===y.contentEditable)&&(vn=y,jn=n,wn=null);break;case"focusout":wn=jn=vn=null;break;case"mousedown":bn=!0;break;case"contextmenu":case"mouseup":case"dragend":bn=!1,Sn(a,s,i);break;case"selectionchange":if(xn)break;case"keydown":case"keyup":Sn(a,s,i)}var x;if(Os)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Hs?Bs(e,s)&&(v="onCompositionEnd"):"keydown"===e&&229===s.keyCode&&(v="onCompositionStart");v&&(qs&&"ko"!==s.locale&&(Hs||"onCompositionStart"!==v?"onCompositionEnd"===v&&Hs&&(x=ns()):(ts="value"in(es=i)?es.value:es.textContent,Hs=!0)),0<(y=Rn(n,v)).length&&(v=new bs(v,e,null,s,i),a.push({event:v,listeners:y}),x?v.data=x:null!==(x=Ws(s))&&(v.data=x))),(x=Ls?function(e,t){switch(e){case"compositionend":return Ws(t);case"keypress":return 32!==t.which?null:(Us=!0,zs);case"textInput":return(e=t.data)===zs&&Us?null:e;default:return null}}(e,s):function(e,t){if(Hs)return"compositionend"===e||!Os&&Bs(e,t)?(e=ns(),ss=ts=es=null,Hs=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return qs&&"ko"!==t.locale?null:t.data}}(e,s))&&(0<(n=Rn(n,"onBeforeInput")).length&&(i=new bs("onBeforeInput","beforeinput",null,s,i),a.push({event:i,listeners:n}),i.data=x))}Cn(a,t)}))}function On(e,t,s){return{instance:e,listener:t,currentTarget:s}}function Rn(e,t){for(var s=t+"Capture",n=[];null!==e;){var i=e,r=i.stateNode;5===i.tag&&null!==r&&(i=r,null!=(r=ze(e,s))&&n.unshift(On(e,r,i)),null!=(r=ze(e,t))&&n.push(On(e,r,i))),e=e.return}return n}function Ln(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function qn(e,t,s,n,i){for(var r=t._reactName,a=[];null!==s&&s!==n;){var o=s,l=o.alternate,c=o.stateNode;if(null!==l&&l===n)break;5===o.tag&&null!==c&&(o=c,i?null!=(l=ze(s,r))&&a.unshift(On(s,l,o)):i||null!=(l=ze(s,r))&&a.push(On(s,l,o))),s=s.return}0!==a.length&&e.push({event:t,listeners:a})}function zn(){}var Un=null,Bn=null;function Wn(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Hn(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Zn="function"===typeof setTimeout?setTimeout:void 0,$n="function"===typeof clearTimeout?clearTimeout:void 0;function Gn(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function Vn(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Yn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var s=e.data;if("$"===s||"$!"===s||"$?"===s){if(0===t)return e;t--}else"/$"===s&&t++}e=e.previousSibling}return null}var Kn=0;var Qn=Math.random().toString(36).slice(2),Xn="__reactFiber$"+Qn,Jn="__reactProps$"+Qn,ei="__reactContainer$"+Qn,ti="__reactEvents$"+Qn;function si(e){var t=e[Xn];if(t)return t;for(var s=e.parentNode;s;){if(t=s[ei]||s[Xn]){if(s=t.alternate,null!==t.child||null!==s&&null!==s.child)for(e=Yn(e);null!==e;){if(s=e[Xn])return s;e=Yn(e)}return t}s=(e=s).parentNode}return null}function ni(e){return!(e=e[Xn]||e[ei])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ii(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function ri(e){return e[Jn]||null}function ai(e){var t=e[ti];return void 0===t&&(t=e[ti]=new Set),t}var oi=[],li=-1;function ci(e){return{current:e}}function di(e){0>li||(e.current=oi[li],oi[li]=null,li--)}function ui(e,t){li++,oi[li]=e.current,e.current=t}var hi={},pi=ci(hi),mi=ci(!1),fi=hi;function gi(e,t){var s=e.type.contextTypes;if(!s)return hi;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var i,r={};for(i in s)r[i]=t[i];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function yi(e){return null!==(e=e.childContextTypes)&&void 0!==e}function xi(){di(mi),di(pi)}function vi(e,t,s){if(pi.current!==hi)throw Error(a(168));ui(pi,t),ui(mi,s)}function ji(e,t,s){var n=e.stateNode;if(e=t.childContextTypes,"function"!==typeof n.getChildContext)return s;for(var r in n=n.getChildContext())if(!(r in e))throw Error(a(108,G(t)||"Unknown",r));return i({},s,n)}function wi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||hi,fi=pi.current,ui(pi,e),ui(mi,mi.current),!0}function bi(e,t,s){var n=e.stateNode;if(!n)throw Error(a(169));s?(e=ji(e,t,fi),n.__reactInternalMemoizedMergedChildContext=e,di(mi),di(pi),ui(pi,e)):di(mi),ui(mi,s)}var Si=null,ki=null,Ni=r.unstable_runWithPriority,Ai=r.unstable_scheduleCallback,_i=r.unstable_cancelCallback,Mi=r.unstable_shouldYield,Ci=r.unstable_requestPaint,Ti=r.unstable_now,Ei=r.unstable_getCurrentPriorityLevel,Ii=r.unstable_ImmediatePriority,Pi=r.unstable_UserBlockingPriority,Di=r.unstable_NormalPriority,Fi=r.unstable_LowPriority,Oi=r.unstable_IdlePriority,Ri={},Li=void 0!==Ci?Ci:function(){},qi=null,zi=null,Ui=!1,Bi=Ti(),Wi=1e4>Bi?Ti:function(){return Ti()-Bi};function Hi(){switch(Ei()){case Ii:return 99;case Pi:return 98;case Di:return 97;case Fi:return 96;case Oi:return 95;default:throw Error(a(332))}}function Zi(e){switch(e){case 99:return Ii;case 98:return Pi;case 97:return Di;case 96:return Fi;case 95:return Oi;default:throw Error(a(332))}}function $i(e,t){return e=Zi(e),Ni(e,t)}function Gi(e,t,s){return e=Zi(e),Ai(e,t,s)}function Vi(){if(null!==zi){var e=zi;zi=null,_i(e)}Yi()}function Yi(){if(!Ui&&null!==qi){Ui=!0;var e=0;try{var t=qi;$i(99,(function(){for(;e<t.length;e++){var s=t[e];do{s=s(!0)}while(null!==s)}})),qi=null}catch(s){throw null!==qi&&(qi=qi.slice(e+1)),Ai(Ii,Vi),s}finally{Ui=!1}}}var Ki=w.ReactCurrentBatchConfig;function Qi(e,t){if(e&&e.defaultProps){for(var s in t=i({},t),e=e.defaultProps)void 0===t[s]&&(t[s]=e[s]);return t}return t}var Xi=ci(null),Ji=null,er=null,tr=null;function sr(){tr=er=Ji=null}function nr(e){var t=Xi.current;di(Xi),e.type._context._currentValue=t}function ir(e,t){for(;null!==e;){var s=e.alternate;if((e.childLanes&t)===t){if(null===s||(s.childLanes&t)===t)break;s.childLanes|=t}else e.childLanes|=t,null!==s&&(s.childLanes|=t);e=e.return}}
2function rr(e,t){Ji=e,tr=er=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(Oa=!0),e.firstContext=null)}function ar(e,t){if(tr!==e&&!1!==t&&0!==t)if("number"===typeof t&&1073741823!==t||(tr=e,t=1073741823),t={context:e,observedBits:t,next:null},null===er){if(null===Ji)throw Error(a(308));er=t,Ji.dependencies={lanes:0,firstContext:t,responders:null}}else er=er.next=t;return e._currentValue}var or=!1;function lr(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function cr(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function dr(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ur(e,t){if(null!==(e=e.updateQueue)){var s=(e=e.shared).pending;null===s?t.next=t:(t.next=s.next,s.next=t),e.pending=t}}function hr(e,t){var s=e.updateQueue,n=e.alternate;if(null!==n&&s===(n=n.updateQueue)){var i=null,r=null;if(null!==(s=s.firstBaseUpdate)){do{var a={eventTime:s.eventTime,lane:s.lane,tag:s.tag,payload:s.payload,callback:s.callback,next:null};null===r?i=r=a:r=r.next=a,s=s.next}while(null!==s);null===r?i=r=t:r=r.next=t}else i=r=t;return s={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:r,shared:n.shared,effects:n.effects},void(e.updateQueue=s)}null===(e=s.lastBaseUpdate)?s.firstBaseUpdate=t:e.next=t,s.lastBaseUpdate=t}function pr(e,t,s,n){var r=e.updateQueue;or=!1;var a=r.firstBaseUpdate,o=r.lastBaseUpdate,l=r.shared.pending;if(null!==l){r.shared.pending=null;var c=l,d=c.next;c.next=null,null===o?a=d:o.next=d,o=c;var u=e.alternate;if(null!==u){var h=(u=u.updateQueue).lastBaseUpdate;h!==o&&(null===h?u.firstBaseUpdate=d:h.next=d,u.lastBaseUpdate=c)}}if(null!==a){for(h=r.baseState,o=0,u=d=c=null;;){l=a.lane;var p=a.eventTime;if((n&l)===l){null!==u&&(u=u.next={eventTime:p,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var m=e,f=a;switch(l=t,p=s,f.tag){case 1:if("function"===typeof(m=f.payload)){h=m.call(p,h,l);break e}h=m;break e;case 3:m.flags=-4097&m.flags|64;case 0:if(null===(l="function"===typeof(m=f.payload)?m.call(p,h,l):m)||void 0===l)break e;h=i({},h,l);break e;case 2:or=!0}}null!==a.callback&&(e.flags|=32,null===(l=r.effects)?r.effects=[a]:l.push(a))}else p={eventTime:p,lane:l,tag:a.tag,payload:a.payload,callback:a.callback,next:null},null===u?(d=u=p,c=h):u=u.next=p,o|=l;if(null===(a=a.next)){if(null===(l=r.shared.pending))break;a=l.next,l.next=null,r.lastBaseUpdate=l,r.shared.pending=null}}null===u&&(c=h),r.baseState=c,r.firstBaseUpdate=d,r.lastBaseUpdate=u,Bo|=o,e.lanes=o,e.memoizedState=h}}function mr(e,t,s){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var n=e[t],i=n.callback;if(null!==i){if(n.callback=null,n=s,"function"!==typeof i)throw Error(a(191,i));i.call(n)}}}var fr=(new n.Component).refs;function gr(e,t,s,n){s=null===(s=s(n,t=e.memoizedState))||void 0===s?t:i({},t,s),e.memoizedState=s,0===e.lanes&&(e.updateQueue.baseState=s)}var yr={isMounted:function(e){return!!(e=e._reactInternals)&&Ke(e)===e},enqueueSetState:function(e,t,s){e=e._reactInternals;var n=pl(),i=ml(e),r=dr(n,i);r.payload=t,void 0!==s&&null!==s&&(r.callback=s),ur(e,r),fl(e,i,n)},enqueueReplaceState:function(e,t,s){e=e._reactInternals;var n=pl(),i=ml(e),r=dr(n,i);r.tag=1,r.payload=t,void 0!==s&&null!==s&&(r.callback=s),ur(e,r),fl(e,i,n)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var s=pl(),n=ml(e),i=dr(s,n);i.tag=2,void 0!==t&&null!==t&&(i.callback=t),ur(e,i),fl(e,n,s)}};function xr(e,t,s,n,i,r,a){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(n,r,a):!t.prototype||!t.prototype.isPureReactComponent||(!hn(s,n)||!hn(i,r))}function vr(e,t,s){var n=!1,i=hi,r=t.contextType;return"object"===typeof r&&null!==r?r=ar(r):(i=yi(t)?fi:pi.current,r=(n=null!==(n=t.contextTypes)&&void 0!==n)?gi(e,i):hi),t=new t(s,r),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=yr,e.stateNode=t,t._reactInternals=e,n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=r),t}function jr(e,t,s,n){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(s,n),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(s,n),t.state!==e&&yr.enqueueReplaceState(t,t.state,null)}function wr(e,t,s,n){var i=e.stateNode;i.props=s,i.state=e.memoizedState,i.refs=fr,lr(e);var r=t.contextType;"object"===typeof r&&null!==r?i.context=ar(r):(r=yi(t)?fi:pi.current,i.context=gi(e,r)),pr(e,s,i,n),i.state=e.memoizedState,"function"===typeof(r=t.getDerivedStateFromProps)&&(gr(e,t,r,s),i.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof i.getSnapshotBeforeUpdate||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||(t=i.state,"function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&yr.enqueueReplaceState(i,i.state,null),pr(e,s,i,n),i.state=e.memoizedState),"function"===typeof i.componentDidMount&&(e.flags|=4)}var br=Array.isArray;
vendor: 7,663 bytes, line 2
2function Sr(e,t,s){if(null!==(e=s.ref)&&"function"!==typeof e&&"object"!==typeof e){if(s._owner){if(s=s._owner){if(1!==s.tag)throw Error(a(309));var n=s.stateNode}if(!n)throw Error(a(147,e));var i=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=n.refs;t===fr&&(t=n.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!==typeof e)throw Error(a(284));if(!s._owner)throw Error(a(290,e))}return e}function kr(e,t){if("textarea"!==e.type)throw Error(a(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function Nr(e){function t(t,s){if(e){var n=t.lastEffect;null!==n?(n.nextEffect=s,t.lastEffect=s):t.firstEffect=t.lastEffect=s,s.nextEffect=null,s.flags=8}}function s(s,n){if(!e)return null;for(;null!==n;)t(s,n),n=n.sibling;return null}function n(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=Gl(e,t)).index=0,e.sibling=null,e}function r(t,s,n){return t.index=n,e?null!==(n=t.alternate)?(n=n.index)<s?(t.flags=2,s):n:(t.flags=2,s):s}function o(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,s,n){return null===t||6!==t.tag?((t=Ql(s,e.mode,n)).return=e,t):((t=i(t,s)).return=e,t)}function c(e,t,s,n){return null!==t&&t.elementType===s.type?((n=i(t,s.props)).ref=Sr(e,t,s),n.return=e,n):((n=Vl(s.type,s.key,s.props,null,e.mode,n)).ref=Sr(e,t,s),n.return=e,n)}function d(e,t,s,n){return null===t||4!==t.tag||t.stateNode.containerInfo!==s.containerInfo||t.stateNode.implementation!==s.implementation?((t=Xl(s,e.mode,n)).return=e,t):((t=i(t,s.children||[])).return=e,t)}function u(e,t,s,n,r){return null===t||7!==t.tag?((t=Yl(s,e.mode,n,r)).return=e,t):((t=i(t,s)).return=e,t)}function h(e,t,s){if("string"===typeof t||"number"===typeof t)return(t=Ql(""+t,e.mode,s)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case b:return(s=Vl(t.type,t.key,t.props,null,e.mode,s)).ref=Sr(e,null,t),s.return=e,s;case S:return(t=Xl(t,e.mode,s)).return=e,t}if(br(t)||B(t))return(t=Yl(t,e.mode,s,null)).return=e,t;kr(e,t)}return null}function p(e,t,s,n){var i=null!==t?t.key:null;if("string"===typeof s||"number"===typeof s)return null!==i?null:l(e,t,""+s,n);if("object"===typeof s&&null!==s){switch(s.$$typeof){case b:return s.key===i?s.type===k?u(e,t,s.props.children,n,i):c(e,t,s,n):null;case S:return s.key===i?d(e,t,s,n):null}if(br(s)||B(s))return null!==i?null:u(e,t,s,n,null);kr(e,s)}return null}function m(e,t,s,n,i){if("string"===typeof n||"number"===typeof n)return l(t,e=e.get(s)||null,""+n,i);if("object"===typeof n&&null!==n){switch(n.$$typeof){case b:return e=e.get(null===n.key?s:n.key)||null,n.type===k?u(t,e,n.props.children,i,n.key):c(t,e,n,i);case S:return d(t,e=e.get(null===n.key?s:n.key)||null,n,i)}if(br(n)||B(n))return u(t,e=e.get(s)||null,n,i,null);kr(t,n)}return null}function f(i,a,o,l){for(var c=null,d=null,u=a,f=a=0,g=null;null!==u&&f<o.length;f++){u.index>f?(g=u,u=null):g=u.sibling;var y=p(i,u,o[f],l);if(null===y){null===u&&(u=g);break}e&&u&&null===y.alternate&&t(i,u),a=r(y,a,f),null===d?c=y:d.sibling=y,d=y,u=g}if(f===o.length)return s(i,u),c;if(null===u){for(;f<o.length;f++)null!==(u=h(i,o[f],l))&&(a=r(u,a,f),null===d?c=u:d.sibling=u,d=u);return c}for(u=n(i,u);f<o.length;f++)null!==(g=m(u,i,f,o[f],l))&&(e&&null!==g.alternate&&u.delete(null===g.key?f:g.key),a=r(g,a,f),null===d?c=g:d.sibling=g,d=g);return e&&u.forEach((function(e){return t(i,e)})),c}function g(i,o,l,c){var d=B(l);if("function"!==typeof d)throw Error(a(150));if(null==(l=d.call(l)))throw Error(a(151));for(var u=d=null,f=o,g=o=0,y=null,x=l.next();null!==f&&!x.done;g++,x=l.next()){f.index>g?(y=f,f=null):y=f.sibling;var v=p(i,f,x.value,c);if(null===v){null===f&&(f=y);break}e&&f&&null===v.alternate&&t(i,f),o=r(v,o,g),null===u?d=v:u.sibling=v,u=v,f=y}if(x.done)return s(i,f),d;if(null===f){for(;!x.done;g++,x=l.next())null!==(x=h(i,x.value,c))&&(o=r(x,o,g),null===u?d=x:u.sibling=x,u=x);return d}for(f=n(i,f);!x.done;g++,x=l.next())null!==(x=m(f,i,g,x.value,c))&&(e&&null!==x.alternate&&f.delete(null===x.key?g:x.key),o=r(x,o,g),null===u?d=x:u.sibling=x,u=x);return e&&f.forEach((function(e){return t(i,e)})),d}return function(e,n,r,l){var c="object"===typeof r&&null!==r&&r.type===k&&null===r.key;c&&(r=r.props.children);var d="object"===typeof r&&null!==r;if(d)switch(r.$$typeof){case b:e:{for(d=r.key,c=n;null!==c;){if(c.key===d){if(7===c.tag){if(r.type===k){s(e,c.sibling),(n=i(c,r.props.children)).return=e,e=n;break e}}else if(c.elementType===r.type){s(e,c.sibling),(n=i(c,r.props)).ref=Sr(e,c,r),n.return=e,e=n;break e}s(e,c);break}t(e,c),c=c.sibling}r.type===k?((n=Yl(r.props.children,e.mode,l,r.key)).return=e,e=n):((l=Vl(r.type,r.key,r.props,null,e.mode,l)).ref=Sr(e,n,r),l.return=e,e=l)}return o(e);case S:e:{for(c=r.key;null!==n;){if(n.key===c){if(4===n.tag&&n.stateNode.containerInfo===r.containerInfo&&n.stateNode.implementation===r.implementation){s(e,n.sibling),(n=i(n,r.children||[])).return=e,e=n;break e}s(e,n);break}t(e,n),n=n.sibling}(n=Xl(r,e.mode,l)).return=e,e=n}return o(e)}if("string"===typeof r||"number"===typeof r)return r=""+r,null!==n&&6===n.tag?(s(e,n.sibling),(n=i(n,r)).return=e,e=n):(s(e,n),(n=Ql(r,e.mode,l)).return=e,e=n),o(e);if(br(r))return f(e,n,r,l);if(B(r))return g(e,n,r,l);if(d&&kr(e,r),"undefined"===typeof r&&!c)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(a(152,G(e.type)||"Component"))}return s(e,n)}}var Ar=Nr(!0),_r=Nr(!1),Mr={},Cr=ci(Mr),Tr=ci(Mr),Er=ci(Mr);function Ir(e){if(e===Mr)throw Error(a(174));return e}function Pr(e,t){switch(ui(Er,t),ui(Tr,e),ui(Cr,Mr),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:me(null,"");break;default:t=me(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}di(Cr),ui(Cr,t)}function Dr(){di(Cr),di(Tr),di(Er)}function Fr(e){Ir(Er.current);var t=Ir(Cr.current),s=me(t,e.type);t!==s&&(ui(Tr,e),ui(Cr,s))}function Or(e){Tr.current===e&&(di(Cr),di(Tr))}var Rr=ci(0);function Lr(e){for(var t=e;null!==t;){if(13===t.tag){var s=t.memoizedState;if(null!==s&&(null===(s=s.dehydrated)||"$?"===s.data||"$!"===s.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var qr=null,zr=null,Ur=!1;function Br(e,t){var s=Zl(5,null,null,0);s.elementType="DELETED",s.type="DELETED",s.stateNode=t,s.return=e,s.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=s,e.lastEffect=s):e.firstEffect=e.lastEffect=s}function Wr(e,t){switch(e.tag){case 5:var s=e.type;return null!==(t=1!==t.nodeType||s.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Hr(e){if(Ur){var t=zr;if(t){var s=t;if(!Wr(e,t)){if(!(t=Vn(s.nextSibling))||!Wr(e,t))return e.flags=-1025&e.flags|2,Ur=!1,void(qr=e);Br(qr,s)}qr=e,zr=Vn(t.firstChild)}else e.flags=-1025&e.flags|2,Ur=!1,qr=e}}function Zr(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;qr=e}function $r(e){if(e!==qr)return!1;if(!Ur)return Zr(e),Ur=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Hn(t,e.memoizedProps))for(t=zr;t;)Br(e,t),t=Vn(t.nextSibling);if(Zr(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var s=e.data;if("/$"===s){if(0===t){zr=Vn(e.nextSibling);break e}t--}
vendor: 7,776 bytes, line 2
2else"$"!==s&&"$!"!==s&&"$?"!==s||t++}e=e.nextSibling}zr=null}}else zr=qr?Vn(e.stateNode.nextSibling):null;return!0}function Gr(){zr=qr=null,Ur=!1}var Vr=[];function Yr(){for(var e=0;e<Vr.length;e++)Vr[e]._workInProgressVersionPrimary=null;Vr.length=0}var Kr=w.ReactCurrentDispatcher,Qr=w.ReactCurrentBatchConfig,Xr=0,Jr=null,ea=null,ta=null,sa=!1,na=!1;function ia(){throw Error(a(321))}function ra(e,t){if(null===t)return!1;for(var s=0;s<t.length&&s<e.length;s++)if(!dn(e[s],t[s]))return!1;return!0}function aa(e,t,s,n,i,r){if(Xr=r,Jr=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Kr.current=null===e||null===e.memoizedState?Ia:Pa,e=s(n,i),na){r=0;do{if(na=!1,!(25>r))throw Error(a(301));r+=1,ta=ea=null,t.updateQueue=null,Kr.current=Da,e=s(n,i)}while(na)}if(Kr.current=Ea,t=null!==ea&&null!==ea.next,Xr=0,ta=ea=Jr=null,sa=!1,t)throw Error(a(300));return e}function oa(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ta?Jr.memoizedState=ta=e:ta=ta.next=e,ta}function la(){if(null===ea){var e=Jr.alternate;e=null!==e?e.memoizedState:null}else e=ea.next;var t=null===ta?Jr.memoizedState:ta.next;if(null!==t)ta=t,ea=e;else{if(null===e)throw Error(a(310));e={memoizedState:(ea=e).memoizedState,baseState:ea.baseState,baseQueue:ea.baseQueue,queue:ea.queue,next:null},null===ta?Jr.memoizedState=ta=e:ta=ta.next=e}return ta}function ca(e,t){return"function"===typeof t?t(e):t}function da(e){var t=la(),s=t.queue;if(null===s)throw Error(a(311));s.lastRenderedReducer=e;var n=ea,i=n.baseQueue,r=s.pending;if(null!==r){if(null!==i){var o=i.next;i.next=r.next,r.next=o}n.baseQueue=i=r,s.pending=null}if(null!==i){i=i.next,n=n.baseState;var l=o=r=null,c=i;do{var d=c.lane;if((Xr&d)===d)null!==l&&(l=l.next={lane:0,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null}),n=c.eagerReducer===e?c.eagerState:e(n,c.action);else{var u={lane:d,action:c.action,eagerReducer:c.eagerReducer,eagerState:c.eagerState,next:null};null===l?(o=l=u,r=n):l=l.next=u,Jr.lanes|=d,Bo|=d}c=c.next}while(null!==c&&c!==i);null===l?r=n:l.next=o,dn(n,t.memoizedState)||(Oa=!0),t.memoizedState=n,t.baseState=r,t.baseQueue=l,s.lastRenderedState=n}return[t.memoizedState,s.dispatch]}function ua(e){var t=la(),s=t.queue;if(null===s)throw Error(a(311));s.lastRenderedReducer=e;var n=s.dispatch,i=s.pending,r=t.memoizedState;if(null!==i){s.pending=null;var o=i=i.next;do{r=e(r,o.action),o=o.next}while(o!==i);dn(r,t.memoizedState)||(Oa=!0),t.memoizedState=r,null===t.baseQueue&&(t.baseState=r),s.lastRenderedState=r}return[r,n]}function ha(e,t,s){var n=t._getVersion;n=n(t._source);var i=t._workInProgressVersionPrimary;if(null!==i?e=i===n:(e=e.mutableReadLanes,(e=(Xr&e)===e)&&(t._workInProgressVersionPrimary=n,Vr.push(t))),e)return s(t._source);throw Vr.push(t),Error(a(350))}function pa(e,t,s,n){var i=Do;if(null===i)throw Error(a(349));var r=t._getVersion,o=r(t._source),l=Kr.current,c=l.useState((function(){return ha(i,t,s)})),d=c[1],u=c[0];c=ta;var h=e.memoizedState,p=h.refs,m=p.getSnapshot,f=h.source;h=h.subscribe;var g=Jr;return e.memoizedState={refs:p,source:t,subscribe:n},l.useEffect((function(){p.getSnapshot=s,p.setSnapshot=d;var e=r(t._source);if(!dn(o,e)){e=s(t._source),dn(u,e)||(d(e),e=ml(g),i.mutableReadLanes|=e&i.pendingLanes),e=i.mutableReadLanes,i.entangledLanes|=e;for(var n=i.entanglements,a=e;0<a;){var l=31-Ht(a),c=1<<l;n[l]|=e,a&=~c}}}),[s,t,n]),l.useEffect((function(){return n(t._source,(function(){var e=p.getSnapshot,s=p.setSnapshot;try{s(e(t._source));var n=ml(g);i.mutableReadLanes|=n&i.pendingLanes}catch(r){s((function(){throw r}))}}))}),[t,n]),dn(m,s)&&dn(f,t)&&dn(h,n)||((e={pending:null,dispatch:null,lastRenderedReducer:ca,lastRenderedState:u}).dispatch=d=Ta.bind(null,Jr,e),c.queue=e,c.baseQueue=null,u=ha(i,t,s),c.memoizedState=c.baseState=u),u}function ma(e,t,s){return pa(la(),e,t,s)}function fa(e){var t=oa();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ca,lastRenderedState:e}).dispatch=Ta.bind(null,Jr,e),[t.memoizedState,e]}function ga(e,t,s,n){return e={tag:e,create:t,destroy:s,deps:n,next:null},null===(t=Jr.updateQueue)?(t={lastEffect:null},Jr.updateQueue=t,t.lastEffect=e.next=e):null===(s=t.lastEffect)?t.lastEffect=e.next=e:(n=s.next,s.next=e,e.next=n,t.lastEffect=e),e}function ya(e){return e={current:e},oa().memoizedState=e}function xa(){return la().memoizedState}function va(e,t,s,n){var i=oa();Jr.flags|=e,i.memoizedState=ga(1|t,s,void 0,void 0===n?null:n)}function ja(e,t,s,n){var i=la();n=void 0===n?null:n;var r=void 0;if(null!==ea){var a=ea.memoizedState;if(r=a.destroy,null!==n&&ra(n,a.deps))return void ga(t,s,r,n)}Jr.flags|=e,i.memoizedState=ga(1|t,s,r,n)}function wa(e,t){return va(516,4,e,t)}function ba(e,t){return ja(516,4,e,t)}function Sa(e,t){return ja(4,2,e,t)}function ka(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Na(e,t,s){return s=null!==s&&void 0!==s?s.concat([e]):null,ja(4,2,ka.bind(null,t,e),s)}function Aa(){}function _a(e,t){var s=la();t=void 0===t?null:t;var n=s.memoizedState;return null!==n&&null!==t&&ra(t,n[1])?n[0]:(s.memoizedState=[e,t],e)}function Ma(e,t){var s=la();t=void 0===t?null:t;var n=s.memoizedState;return null!==n&&null!==t&&ra(t,n[1])?n[0]:(e=e(),s.memoizedState=[e,t],e)}function Ca(e,t){var s=Hi();$i(98>s?98:s,(function(){e(!0)})),$i(97<s?97:s,(function(){var s=Qr.transition;Qr.transition=1;try{e(!1),t()}finally{Qr.transition=s}}))}function Ta(e,t,s){var n=pl(),i=ml(e),r={lane:i,action:s,eagerReducer:null,eagerState:null,next:null},a=t.pending;if(null===a?r.next=r:(r.next=a.next,a.next=r),t.pending=r,a=e.alternate,e===Jr||null!==a&&a===Jr)na=sa=!0;else{if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var o=t.lastRenderedState,l=a(o,s);if(r.eagerReducer=a,r.eagerState=l,dn(l,o))return}catch(c){}fl(e,i,n)}}var Ea={readContext:ar,useCallback:ia,useContext:ia,useEffect:ia,useImperativeHandle:ia,useLayoutEffect:ia,useMemo:ia,useReducer:ia,useRef:ia,useState:ia,useDebugValue:ia,useDeferredValue:ia,useTransition:ia,useMutableSource:ia,useOpaqueIdentifier:ia,unstable_isNewReconciler:!1},Ia={readContext:ar,useCallback:function(e,t){return oa().memoizedState=[e,void 0===t?null:t],e},useContext:ar,useEffect:wa,useImperativeHandle:function(e,t,s){return s=null!==s&&void 0!==s?s.concat([e]):null,va(4,2,ka.bind(null,t,e),s)},useLayoutEffect:function(e,t){return va(4,2,e,t)},useMemo:function(e,t){var s=oa();return t=void 0===t?null:t,e=e(),s.memoizedState=[e,t],e},useReducer:function(e,t,s){var n=oa();return t=void 0!==s?s(t):t,n.memoizedState=n.baseState=t,e=(e=n.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ta.bind(null,Jr,e),[n.memoizedState,e]},useRef:ya,useState:fa,useDebugValue:Aa,useDeferredValue:function(e){var t=fa(e),s=t[0],n=t[1];return wa((function(){var t=Qr.transition;Qr.transition=1;try{n(e)}finally{Qr.transition=t}}),[e]),s},useTransition:function(){var e=fa(!1),t=e[0];return ya(e=Ca.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,s){var n=oa();return n.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:s},pa(n,e,t,s)},useOpaqueIdentifier:function(){if(Ur){var e=!1,t=function(e){return{$$typeof:F,toString:e,valueOf:e}}((function(){throw e||(e=!0,s("r:"+(Kn++).toString(36))),Error(a(355))})),s=fa(t)[1];return 0===(2&Jr.mode)&&(Jr.flags|=516,ga(5,(function(){s("r:"+(Kn++).toString(36))}),void 0,null)),t}return fa(t="r:"+(Kn++).toString(36)),t},unstable_isNewReconciler:!1},Pa={readContext:ar,useCallback:_a,useContext:ar,useEffect:ba,useImperativeHandle:Na,useLayoutEffect:Sa,useMemo:Ma,useReducer:da,useRef
2:xa,useState:function(){return da(ca)},useDebugValue:Aa,useDeferredValue:function(e){var t=da(ca),s=t[0],n=t[1];return ba((function(){var t=Qr.transition;Qr.transition=1;try{n(e)}finally{Qr.transition=t}}),[e]),s},useTransition:function(){var e=da(ca)[0];return[xa().current,e]},useMutableSource:ma,useOpaqueIdentifier:function(){return da(ca)[0]},unstable_isNewReconciler:!1},Da={readContext:ar,useCallback:_a,useContext:ar,useEffect:ba,useImperativeHandle:Na,useLayoutEffect:Sa,useMemo:Ma,useReducer:ua,useRef:xa,useState:function(){return ua(ca)},useDebugValue:Aa,useDeferredValue:function(e){var t=ua(ca),s=t[0],n=t[1];return ba((function(){var t=Qr.transition;Qr.transition=1;try{n(e)}finally{Qr.transition=t}}),[e]),s},useTransition:function(){var e=ua(ca)[0];return[xa().current,e]},useMutableSource:ma,useOpaqueIdentifier:function(){return ua(ca)[0]},unstable_isNewReconciler:!1},Fa=w.ReactCurrentOwner,Oa=!1;function Ra(e,t,s,n){t.child=null===e?_r(t,null,s,n):Ar(t,e.child,s,n)}function La(e,t,s,n,i){s=s.render;var r=t.ref;return rr(t,i),n=aa(e,t,s,n,r,i),null===e||Oa?(t.flags|=1,Ra(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~i,ro(e,t,i))}function qa(e,t,s,n,i,r){if(null===e){var a=s.type;return"function"!==typeof a||$l(a)||void 0!==a.defaultProps||null!==s.compare||void 0!==s.defaultProps?((e=Vl(s.type,null,n,t,t.mode,r)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,za(e,t,a,n,i,r))}return a=e.child,0===(i&r)&&(i=a.memoizedProps,(s=null!==(s=s.compare)?s:hn)(i,n)&&e.ref===t.ref)?ro(e,t,r):(t.flags|=1,(e=Gl(a,n)).ref=t.ref,e.return=t,t.child=e)}function za(e,t,s,n,i,r){if(null!==e&&hn(e.memoizedProps,n)&&e.ref===t.ref){if(Oa=!1,0===(r&i))return t.lanes=e.lanes,ro(e,t,r);0!==(16384&e.flags)&&(Oa=!0)}return Wa(e,t,s,n,r)}function Ua(e,t,s){var n=t.pendingProps,i=n.children,r=null!==e?e.memoizedState:null;if("hidden"===n.mode||"unstable-defer-without-hiding"===n.mode)if(0===(4&t.mode))t.memoizedState={baseLanes:0},Sl(t,s);else{if(0===(1073741824&s))return e=null!==r?r.baseLanes|s:s,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},Sl(t,e),null;t.memoizedState={baseLanes:0},Sl(t,null!==r?r.baseLanes:s)}else null!==r?(n=r.baseLanes|s,t.memoizedState=null):n=s,Sl(t,n);return Ra(e,t,i,s),t.child}function Ba(e,t){var s=t.ref;(null===e&&null!==s||null!==e&&e.ref!==s)&&(t.flags|=128)}function Wa(e,t,s,n,i){var r=yi(s)?fi:pi.current;return r=gi(t,r),rr(t,i),s=aa(e,t,s,n,r,i),null===e||Oa?(t.flags|=1,Ra(e,t,s,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~i,ro(e,t,i))}function Ha(e,t,s,n,i){if(yi(s)){var r=!0;wi(t)}else r=!1;if(rr(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),vr(t,s,n),wr(t,s,n,i),n=!0;else if(null===e){var a=t.stateNode,o=t.memoizedProps;a.props=o;var l=a.context,c=s.contextType;"object"===typeof c&&null!==c?c=ar(c):c=gi(t,c=yi(s)?fi:pi.current);var d=s.getDerivedStateFromProps,u="function"===typeof d||"function"===typeof a.getSnapshotBeforeUpdate;u||"function"!==typeof a.UNSAFE_componentWillReceiveProps&&"function"!==typeof a.componentWillReceiveProps||(o!==n||l!==c)&&jr(t,a,n,c),or=!1;var h=t.memoizedState;a.state=h,pr(t,n,a,i),l=t.memoizedState,o!==n||h!==l||mi.current||or?("function"===typeof d&&(gr(t,s,d,n),l=t.memoizedState),(o=or||xr(t,s,o,n,h,l,c))?(u||"function"!==typeof a.UNSAFE_componentWillMount&&"function"!==typeof a.componentWillMount||("function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"===typeof a.componentDidMount&&(t.flags|=4)):("function"===typeof a.componentDidMount&&(t.flags|=4),t.memoizedProps=n,t.memoizedState=l),a.props=n,a.state=l,a.context=c,n=o):("function"===typeof a.componentDidMount&&(t.flags|=4),n=!1)}else{a=t.stateNode,cr(e,t),o=t.memoizedProps,c=t.type===t.elementType?o:Qi(t.type,o),a.props=c,u=t.pendingProps,h=a.context,"object"===typeof(l=s.contextType)&&null!==l?l=ar(l):l=gi(t,l=yi(s)?fi:pi.current);var p=s.getDerivedStateFromProps;(d="function"===typeof p||"function"===typeof a.getSnapshotBeforeUpdate)||"function"!==typeof a.UNSAFE_componentWillReceiveProps&&"function"!==typeof a.componentWillReceiveProps||(o!==u||h!==l)&&jr(t,a,n,l),or=!1,h=t.memoizedState,a.state=h,pr(t,n,a,i);var m=t.memoizedState;o!==u||h!==m||mi.current||or?("function"===typeof p&&(gr(t,s,p,n),m=t.memoizedState),(c=or||xr(t,s,c,n,h,m,l))?(d||"function"!==typeof a.UNSAFE_componentWillUpdate&&"function"!==typeof a.componentWillUpdate||("function"===typeof a.componentWillUpdate&&a.componentWillUpdate(n,m,l),"function"===typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(n,m,l)),"function"===typeof a.componentDidUpdate&&(t.flags|=4),"function"===typeof a.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!==typeof a.componentDidUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=256),t.memoizedProps=n,t.memoizedState=m),a.props=n,a.state=m,a.context=l,n=c):("function"!==typeof a.componentDidUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=256),n=!1)}return Za(e,t,s,n,r,i)}function Za(e,t,s,n,i,r){Ba(e,t);var a=0!==(64&t.flags);if(!n&&!a)return i&&bi(t,s,!1),ro(e,t,r);n=t.stateNode,Fa.current=t;var o=a&&"function"!==typeof s.getDerivedStateFromError?null:n.render();return t.flags|=1,null!==e&&a?(t.child=Ar(t,e.child,null,r),t.child=Ar(t,null,o,r)):Ra(e,t,o,r),t.memoizedState=n.state,i&&bi(t,s,!0),t.child}function $a(e){var t=e.stateNode;t.pendingContext?vi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&vi(0,t.context,!1),Pr(e,t.containerInfo)}var Ga,Va,Ya,Ka,Qa={dehydrated:null,retryLane:0};function Xa(e,t,s){var n,i=t.pendingProps,r=Rr.current,a=!1;return(n=0!==(64&t.flags))||(n=(null===e||null!==e.memoizedState)&&0!==(2&r)),n?(a=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===i.fallback||!0===i.unstable_avoidThisFallback||(r|=1),ui(Rr,1&r),null===e?(void 0!==i.fallback&&Hr(t),e=i.children,r=i.fallback,a?(e=Ja(t,e,r,s),t.child.memoizedState={baseLanes:s},t.memoizedState=Qa,e):"number"===typeof i.unstable_expectedLoadTime?(e=Ja(t,e,r,s),t.child.memoizedState={baseLanes:s},t.memoizedState=Qa,t.lanes=33554432,e):((s=Kl({mode:"visible",children:e},t.mode,s,null)).return=t,t.child=s)):(e.memoizedState,a?(i=to(e,t,i.children,i.fallback,s),a=t.child,r=e.child.memoizedState,a.memoizedState=null===r?{baseLanes:s}:{baseLanes:r.baseLanes|s},a.childLanes=e.childLanes&~s,t.memoizedState=Qa,i):(s=eo(e,t,i.children,s),t.memoizedState=null,s))}function Ja(e,t,s,n){var i=e.mode,r=e.child;return t={mode:"hidden",children:t},0===(2&i)&&null!==r?(r.childLanes=0,r.pendingProps=t):r=Kl(t,i,0,null),s=Yl(s,i,n,null),r.return=e,s.return=e,r.sibling=s,e.child=r,s}function eo(e,t,s,n){var i=e.child;return e=i.sibling,s=Gl(i,{mode:"visible",children:s}),0===(2&t.mode)&&(s.lanes=n),s.return=t,s.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=s}function to(e,t,s,n,i){var r=t.mode,a=e.child;e=a.sibling;var o={mode:"hidden",children:s};return 0===(2&r)&&t.child!==a?((s=t.child).childLanes=0,s.pendingProps=o,null!==(a=s.lastEffect)?(t.firstEffect=s.firstEffect,t.lastEffect=a,a.nextEffect=null):t.firstEffect=t.lastEffect=null):s=Gl(a,o),null!==e?n=Gl(e,n):(n=Yl(n,r,i,null)).flags|=2,n.return=t,s.return=t,s.sibling=n,t.child=s,n}function so(e,t){e.lanes|=t;var s=e.alternate;null!==s&&(s.lanes|=t),ir(e.return,t)}function no(e,t,s,n,i,r){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:s,tailMode:i,lastEffect:r}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=n,a.tail=s,a.tailMode=i,a.lastEffect=r)}function io(e,t,s){var n=t.pendingProps,i=n.revealOrder,r=n.tail;if(Ra(e,t,n.children,s),0!==(2&(n=Rr.current)))n=1&n|2,t.flags|=64;else{if(null!==e&&0!==(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&so(e,s);else if(19===e.tag)so(e,s);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(ui(Rr,n),0===(2&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(s=t.child,i=null;null!==s;)null!==(e=s.alternate)&&null===Lr(e)&&(i=s),s=s.sibling;null===(s=i)?(i=t.child,t.child=null):(i=s.sibling,s.sibling=null),no(t,!1,i,s,r,t.lastEffect);break;case"backwards":for(s=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===Lr(e)){t.child=i;break}e=i.sibling,i.sibling=s,s=i,i=e}no(t,!0,s,null,r,t.lastEffect);break;case"together":no(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function ro(e,t,s){if(null!==e&&(t.dependencies=e.dependencies),Bo|=t.lanes,0!==(s&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(s=Gl(e=t.child,e.pendingProps),t.child=s,s.return=t;null!==e.sibling;
2)e=e.sibling,(s=s.sibling=Gl(e,e.pendingProps)).return=t;s.sibling=null}return t.child}return null}function ao(e,t){if(!Ur)switch(e.tailMode){case"hidden":t=e.tail;for(var s=null;null!==t;)null!==t.alternate&&(s=t),t=t.sibling;null===s?e.tail=null:s.sibling=null;break;case"collapsed":s=e.tail;for(var n=null;null!==s;)null!==s.alternate&&(n=s),s=s.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function oo(e,t,s){var n=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return yi(t.type)&&xi(),null;case 3:return Dr(),di(mi),di(pi),Yr(),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||($r(t)?t.flags|=4:n.hydrate||(t.flags|=256)),Va(t),null;case 5:Or(t);var r=Ir(Er.current);if(s=t.type,null!==e&&null!=t.stateNode)Ya(e,t,s,n,r),e.ref!==t.ref&&(t.flags|=128);else{if(!n){if(null===t.stateNode)throw Error(a(166));return null}if(e=Ir(Cr.current),$r(t)){n=t.stateNode,s=t.type;var o=t.memoizedProps;switch(n[Xn]=t,n[Jn]=o,s){case"dialog":Tn("cancel",n),Tn("close",n);break;case"iframe":case"object":case"embed":Tn("load",n);break;case"video":case"audio":for(e=0;e<An.length;e++)Tn(An[e],n);break;case"source":Tn("error",n);break;case"img":case"image":case"link":Tn("error",n),Tn("load",n);break;case"details":Tn("toggle",n);break;case"input":ee(n,o),Tn("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!o.multiple},Tn("invalid",n);break;case"textarea":le(n,o),Tn("invalid",n)}for(var c in ke(s,o),e=null,o)o.hasOwnProperty(c)&&(r=o[c],"children"===c?"string"===typeof r?n.textContent!==r&&(e=["children",r]):"number"===typeof r&&n.textContent!==""+r&&(e=["children",""+r]):l.hasOwnProperty(c)&&null!=r&&"onScroll"===c&&Tn("scroll",n));switch(s){case"input":K(n),ne(n,o,!0);break;case"textarea":K(n),de(n);break;case"select":case"option":break;default:"function"===typeof o.onClick&&(n.onclick=zn)}n=e,t.updateQueue=n,null!==n&&(t.flags|=4)}else{switch(c=9===r.nodeType?r:r.ownerDocument,e===ue&&(e=pe(s)),e===ue?"script"===s?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof n.is?e=c.createElement(s,{is:n.is}):(e=c.createElement(s),"select"===s&&(c=e,n.multiple?c.multiple=!0:n.size&&(c.size=n.size))):e=c.createElementNS(e,s),e[Xn]=t,e[Jn]=n,Ga(e,t,!1,!1),t.stateNode=e,c=Ne(s,n),s){case"dialog":Tn("cancel",e),Tn("close",e),r=n;break;case"iframe":case"object":case"embed":Tn("load",e),r=n;break;case"video":case"audio":for(r=0;r<An.length;r++)Tn(An[r],e);r=n;break;case"source":Tn("error",e),r=n;break;case"img":case"image":case"link":Tn("error",e),Tn("load",e),r=n;break;case"details":Tn("toggle",e),r=n;break;case"input":ee(e,n),r=J(e,n),Tn("invalid",e);break;case"option":r=re(e,n);break;case"select":e._wrapperState={wasMultiple:!!n.multiple},r=i({},n,{value:void 0}),Tn("invalid",e);break;case"textarea":le(e,n),r=oe(e,n),Tn("invalid",e);break;default:r=n}ke(s,r);var d=r;for(o in d)if(d.hasOwnProperty(o)){var u=d[o];"style"===o?be(e,u):"dangerouslySetInnerHTML"===o?null!=(u=u?u.__html:void 0)&&ye(e,u):"children"===o?"string"===typeof u?("textarea"!==s||""!==u)&&xe(e,u):"number"===typeof u&&xe(e,""+u):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(l.hasOwnProperty(o)?null!=u&&"onScroll"===o&&Tn("scroll",e):null!=u&&j(e,o,u,c))}switch(s){case"input":K(e),ne(e,n,!1);break;case"textarea":K(e),de(e);break;case"option":null!=n.value&&e.setAttribute("value",""+V(n.value));break;case"select":e.multiple=!!n.multiple,null!=(o=n.value)?ae(e,!!n.multiple,o,!1):null!=n.defaultValue&&ae(e,!!n.multiple,n.defaultValue,!0);break;default:"function"===typeof r.onClick&&(e.onclick=zn)}Wn(s,n)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Ka(e,t,e.memoizedProps,n);else{if("string"!==typeof n&&null===t.stateNode)throw Error(a(166));s=Ir(Er.current),Ir(Cr.current),$r(t)?(n=t.stateNode,s=t.memoizedProps,n[Xn]=t,n.nodeValue!==s&&(t.flags|=4)):((n=(9===s.nodeType?s:s.ownerDocument).createTextNode(n))[Xn]=t,t.stateNode=n)}return null;case 13:return di(Rr),n=t.memoizedState,0!==(64&t.flags)?(t.lanes=s,t):(n=null!==n,s=!1,null===e?void 0!==t.memoizedProps.fallback&&$r(t):s=null!==e.memoizedState,n&&!s&&0!==(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!==(1&Rr.current)?0===qo&&(qo=3):(0!==qo&&3!==qo||(qo=4),null===Do||0===(134217727&Bo)&&0===(134217727&Wo)||vl(Do,Oo))),(n||s)&&(t.flags|=4),null);case 4:return Dr(),Va(t),null===e&&In(t.stateNode.containerInfo),null;case 10:return nr(t),null;case 19:if(di(Rr),null===(n=t.memoizedState))return null;if(o=0!==(64&t.flags),null===(c=n.rendering))if(o)ao(n,!1);else{if(0!==qo||null!==e&&0!==(64&e.flags))for(e=t.child;null!==e;
vendor: 14,869 bytes, line 2
2){if(null!==(c=Lr(e))){for(t.flags|=64,ao(n,!1),null!==(o=c.updateQueue)&&(t.updateQueue=o,t.flags|=4),null===n.lastEffect&&(t.firstEffect=null),t.lastEffect=n.lastEffect,n=s,s=t.child;null!==s;)e=n,(o=s).flags&=2,o.nextEffect=null,o.firstEffect=null,o.lastEffect=null,null===(c=o.alternate)?(o.childLanes=0,o.lanes=e,o.child=null,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=c.childLanes,o.lanes=c.lanes,o.child=c.child,o.memoizedProps=c.memoizedProps,o.memoizedState=c.memoizedState,o.updateQueue=c.updateQueue,o.type=c.type,e=c.dependencies,o.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),s=s.sibling;return ui(Rr,1&Rr.current|2),t.child}e=e.sibling}null!==n.tail&&Wi()>Go&&(t.flags|=64,o=!0,ao(n,!1),t.lanes=33554432)}else{if(!o)if(null!==(e=Lr(c))){if(t.flags|=64,o=!0,null!==(s=e.updateQueue)&&(t.updateQueue=s,t.flags|=4),ao(n,!0),null===n.tail&&"hidden"===n.tailMode&&!c.alternate&&!Ur)return null!==(t=t.lastEffect=n.lastEffect)&&(t.nextEffect=null),null}else 2*Wi()-n.renderingStartTime>Go&&1073741824!==s&&(t.flags|=64,o=!0,ao(n,!1),t.lanes=33554432);n.isBackwards?(c.sibling=t.child,t.child=c):(null!==(s=n.last)?s.sibling=c:t.child=c,n.last=c)}return null!==n.tail?(s=n.tail,n.rendering=s,n.tail=s.sibling,n.lastEffect=t.lastEffect,n.renderingStartTime=Wi(),s.sibling=null,t=Rr.current,ui(Rr,o?1&t|2:1&t),s):null;case 23:case 24:return kl(),null!==e&&null!==e.memoizedState!==(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==n.mode&&(t.flags|=4),null}throw Error(a(156,t.tag))}function lo(e){switch(e.tag){case 1:yi(e.type)&&xi();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Dr(),di(mi),di(pi),Yr(),0!==(64&(t=e.flags)))throw Error(a(285));return e.flags=-4097&t|64,e;case 5:return Or(e),null;case 13:return di(Rr),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return di(Rr),null;case 4:return Dr(),null;case 10:return nr(e),null;case 23:case 24:return kl(),null;default:return null}}function co(e,t){try{var s="",n=t;do{s+=$(n),n=n.return}while(n);var i=s}catch(r){i="\nError generating stack: "+r.message+"\n"+r.stack}return{value:e,source:t,stack:i}}function uo(e,t){try{console.error(t.value)}catch(s){setTimeout((function(){throw s}))}}Ga=function(e,t){for(var s=t.child;null!==s;){if(5===s.tag||6===s.tag)e.appendChild(s.stateNode);else if(4!==s.tag&&null!==s.child){s.child.return=s,s=s.child;continue}if(s===t)break;for(;null===s.sibling;){if(null===s.return||s.return===t)return;s=s.return}s.sibling.return=s.return,s=s.sibling}},Va=function(){},Ya=function(e,t,s,n){var r=e.memoizedProps;if(r!==n){e=t.stateNode,Ir(Cr.current);var a,o=null;switch(s){case"input":r=J(e,r),n=J(e,n),o=[];break;case"option":r=re(e,r),n=re(e,n),o=[];break;case"select":r=i({},r,{value:void 0}),n=i({},n,{value:void 0}),o=[];break;case"textarea":r=oe(e,r),n=oe(e,n),o=[];break;default:"function"!==typeof r.onClick&&"function"===typeof n.onClick&&(e.onclick=zn)}for(u in ke(s,n),s=null,r)if(!n.hasOwnProperty(u)&&r.hasOwnProperty(u)&&null!=r[u])if("style"===u){var c=r[u];for(a in c)c.hasOwnProperty(a)&&(s||(s={}),s[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(l.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in n){var d=n[u];if(c=null!=r?r[u]:void 0,n.hasOwnProperty(u)&&d!==c&&(null!=d||null!=c))if("style"===u)if(c){for(a in c)!c.hasOwnProperty(a)||d&&d.hasOwnProperty(a)||(s||(s={}),s[a]="");for(a in d)d.hasOwnProperty(a)&&c[a]!==d[a]&&(s||(s={}),s[a]=d[a])}else s||(o||(o=[]),o.push(u,s)),s=d;else"dangerouslySetInnerHTML"===u?(d=d?d.__html:void 0,c=c?c.__html:void 0,null!=d&&c!==d&&(o=o||[]).push(u,d)):"children"===u?"string"!==typeof d&&"number"!==typeof d||(o=o||[]).push(u,""+d):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(l.hasOwnProperty(u)?(null!=d&&"onScroll"===u&&Tn("scroll",e),o||c===d||(o=[])):"object"===typeof d&&null!==d&&d.$$typeof===F?d.toString():(o=o||[]).push(u,d))}s&&(o=o||[]).push("style",s);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},Ka=function(e,t,s,n){s!==n&&(t.flags|=4)};var ho="function"===typeof WeakMap?WeakMap:Map;function po(e,t,s){(s=dr(-1,s)).tag=3,s.payload={element:null};var n=t.value;return s.callback=function(){Qo||(Qo=!0,Xo=n),uo(0,t)},s}function mo(e,t,s){(s=dr(-1,s)).tag=3;var n=e.type.getDerivedStateFromError;if("function"===typeof n){var i=t.value;s.payload=function(){return uo(0,t),n(i)}}var r=e.stateNode;return null!==r&&"function"===typeof r.componentDidCatch&&(s.callback=function(){"function"!==typeof n&&(null===Jo?Jo=new Set([this]):Jo.add(this),uo(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),s}var fo="function"===typeof WeakSet?WeakSet:Set;function go(e){var t=e.ref;if(null!==t)if("function"===typeof t)try{t(null)}catch(s){Ul(e,s)}else t.current=null}function yo(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var s=e.memoizedProps,n=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?s:Qi(t.type,s),n),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Gn(t.stateNode.containerInfo))}throw Error(a(163))}function xo(e,t,s){switch(s.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=s.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3===(3&e.tag)){var n=e.create;e.destroy=n()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=s.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var i=e;n=i.next,0!==(4&(i=i.tag))&&0!==(1&i)&&(Ll(s,e),Rl(s,e)),e=n}while(e!==t)}return;case 1:return e=s.stateNode,4&s.flags&&(null===t?e.componentDidMount():(n=s.elementType===s.type?t.memoizedProps:Qi(s.type,t.memoizedProps),e.componentDidUpdate(n,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=s.updateQueue)&&mr(s,t,e));case 3:if(null!==(t=s.updateQueue)){if(e=null,null!==s.child)switch(s.child.tag){case 5:case 1:e=s.child.stateNode}mr(s,t,e)}return;case 5:return e=s.stateNode,void(null===t&&4&s.flags&&Wn(s.type,s.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===s.memoizedState&&(s=s.alternate,null!==s&&(s=s.memoizedState,null!==s&&(s=s.dehydrated,null!==s&&bt(s)))))}throw Error(a(163))}function vo(e,t){for(var s=e;;){if(5===s.tag){var n=s.stateNode;if(t)"function"===typeof(n=n.style).setProperty?n.setProperty("display","none","important"):n.display="none";else{n=s.stateNode;var i=s.memoizedProps.style;i=void 0!==i&&null!==i&&i.hasOwnProperty("display")?i.display:null,n.style.display=we("display",i)}}else if(6===s.tag)s.stateNode.nodeValue=t?"":s.memoizedProps;else if((23!==s.tag&&24!==s.tag||null===s.memoizedState||s===e)&&null!==s.child){s.child.return=s,s=s.child;continue}if(s===e)break;for(;null===s.sibling;){if(null===s.return||s.return===e)return;s=s.return}s.sibling.return=s.return,s=s.sibling}}function jo(e,t){if(ki&&"function"===typeof ki.onCommitFiberUnmount)try{ki.onCommitFiberUnmount(Si,t)}catch(r){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var s=e=e.next;do{var n=s,i=n.destroy;if(n=n.tag,void 0!==i)if(0!==(4&n))Ll(t,s);else{n=t;try{i()}catch(r){Ul(n,r)}}s=s.next}while(s!==e)}break;case 1:if(go(t),"function"===typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(r){Ul(t,r)}break;case 5:go(t);break;case 4:Ao(e,t)}}function wo(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function bo(e){return 5===e.tag||3===e.tag||4===e.tag}function So(e){e:{for(var t=e.return;null!==t;){if(bo(t))break e;t=t.return}throw Error(a(160))}var s=t;switch(t=s.stateNode,s.tag){case 5:var n=!1;break;case 3:case 4:t=t.containerInfo,n=!0;break;default:throw Error(a(161))}16&s.flags&&(xe(t,""),s.flags&=-17);e:t:for(s=e;;){for(;null===s.sibling;){if(null===s.return||bo(s.return)){s=null;break e}s=s.return}for(s.sibling.return=s.return,s=s.sibling;5!==s.tag&&6!==s.tag&&18!==s.tag;){if(2&s.flags)continue t;if(null===s.child||4===s.tag)continue t;s.child.return=s,s=s.child}if(!(2&s.flags)){s=s.stateNode;break e}}n?ko(e,s,t):No(e,s,t)}function ko(e,t,s){var n=e.tag,i=5===n||6===n;if(i)e=i?e.stateNode:e.stateNode.instance,t?8===s.nodeType?s.parentNode.insertBefore(e,t):s.insertBefore(e,t):(8===s.nodeType?(t=s.parentNode).insertBefore(e,s):(t=s).appendChild(e),null!==(s=s._reactRootContainer)&&void 0!==s||null!==t.onclick||(t.onclick=zn));else if(4!==n&&null!==(e=e.child))for(ko(e,t,s),e=e.sibling;null!==e;)ko(e,t,s),e=e.sibling}function No(e,t,s){var n=e.tag,i=5===n||6===n;if(i)e=i?e.stateNode:e.stateNode.instance,t?s.insertBefore(e,t):s.appendChild(e);else if(4!==n&&null!==(e=e.child))for(No(e,t,s),e=e.sibling;null!==e;)No(e,t,s),e=e.sibling}function Ao(e,t){for(var s,n,i=t,r=!1;;){if(!r){r=i.return;e:for(;;){if(null===r)throw Error(a(160));switch(s=r.stateNode,r.tag){case 5:n=!1;break e;case 3:case 4:s=s.containerInfo,n=!0;break e}r=r.return}r=!0}if(5===i.tag||6===i.tag){e:for(var o=e,l=i,c=l;;)if(jo(o,c),null!==c.child&&4!==c.tag)c.child.return=c,c=c.child;else{if(c===l)break e;for(;null===c.sibling;){if(null===c.return||c.return===l)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}n?(o=s,l=i.stateNode,8===o.nodeType?o.parentNode.removeChild(l):o.removeChild(l)):s.removeChild(i.stateNode)}else if(4===i.tag){if(null!==i.child){s=i.stateNode.containerInfo,n=!0,i.child.return=i,i=i.child;continue}}else if(jo(e,i),null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;4===(i=i.return).tag&&(r=!1)}i.sibling.return=i.return,i=i.sibling}}function _o(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var s=t.updateQueue;if(null!==(s=null!==s?s.lastEffect:null)){var n=s=s.next;do{3===(3&n.tag)&&(e=n.destroy,n.destroy=void 0,void 0!==e&&e()),n=n.next}while(n!==s)}return;case 1:case 12:case 17:return;case 5:if(null!=(s=t.stateNode)){n=t.memoizedProps;var i=null!==e?e.memoizedProps:n;e=t.type;var r=t.updateQueue;if(t.updateQueue=null,null!==r){for(s[Jn]=n,"input"===e&&"radio"===n.type&&null!=n.name&&te(s,n),Ne(e,i),t=Ne(e,n),i=0;i<r.length;i+=2){var o=r[i],l=r[i+1];"style"===o?be(s,l):"dangerouslySetInnerHTML"===o?ye(s,l):"children"===o?xe(s,l):j(s,o,l,t)}switch(e){case"input":se(s,n);break;case"textarea":ce(s,n);break;case"select":e=s._wrapperState.wasMultiple,s._wrapperState.wasMultiple=!!n.multiple,null!=(r=n.value)?ae(s,!!n.multiple,r,!1):e!==!!n.multiple&&(null!=n.defaultValue?ae(s,!!n.multiple,n.defaultValue,!0):ae(s,!!n.multiple,n.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(a(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((s=t.stateNode).hydrate&&(s.hydrate=!1,bt(s.containerInfo)));case 13:return null!==t.memoizedState&&($o=Wi(),vo(t.child,!0)),void Mo(t);case 19:return void Mo(t);case 23:case 24:return void vo(t,null!==t.memoizedState)}throw Error(a(163))}function Mo(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var s=e.stateNode;null===s&&(s=e.stateNode=new fo),t.forEach((function(t){var n=Wl.bind(null,e,t);s.has(t)||(s.add(t),t.then(n,n))}))}}function Co(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var To=Math.ceil,Eo=w.ReactCurrentDispatcher,Io=w.ReactCurrentOwner,Po=0,Do=null,Fo=null,Oo=0,Ro=0,Lo=ci(0),qo=0,zo=null,Uo=0,Bo=0,Wo=0,Ho=0,Zo=null,$o=0,Go=1/0;function Vo(){Go=Wi()+500}var Yo,Ko=null,Qo=!1,Xo=null,Jo=null,el=!1,tl=null,sl=90,nl=[],il=[],rl=null,al=0,ol=null,ll=-1,cl=0,dl=0,ul=null,hl=!1;function pl(){return 0!==(48&Po)?Wi():-1!==ll?ll:ll=Wi()}function ml(e){if(0===(2&(e=e.mode)))return 1;if(0===(4&e))return 99===Hi()?1:2;if(0===cl&&(cl=Uo),0!==Ki.transition){0!==dl&&(dl=null!==Zo?Zo.pendingLanes:0),e=cl;var t=4186112&~dl;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Hi(),0!==(4&Po)&&98===e?e=zt(12,cl):e=zt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),cl),e}function fl(e,t,s){if(50<al)throw al=0,ol=null,Error(a(185));if(null===(e=gl(e,t)))return null;Wt(e,t,s),e===Do&&(Wo|=t,4===qo&&vl(e,Oo));var n=Hi();1===t?0!==(8&Po)&&0===(48&Po)?jl(e):(yl(e,s),0===Po&&(Vo(),Vi())):(0===(4&Po)||98!==n&&99!==n||(null===rl?rl=new Set([e]):rl.add(e)),yl(e,s)),Zo=e}function gl(e,t){e.lanes|=t;var s=e.alternate;for(null!==s&&(s.lanes|=t),s=e,e=e.return;null!==e;)e.childLanes|=t,null!==(s=e.alternate)&&(s.childLanes|=t),s=e,e=e.return;return 3===s.tag?s.stateNode:null}function yl(e,t){for(var s=e.callbackNode,n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes;0<o;){var l=31-Ht(o),c=1<<l,d=r[l];if(-1===d){if(0===(c&n)||0!==(c&i)){d=t,Rt(c);var u=Ot;r[l]=10<=u?d+250:6<=u?d+5e3:-1}}else d<=t&&(e.expiredLanes|=c);o&=~c}if(n=Lt(e,e===Do?Oo:0),t=Ot,0===n)null!==s&&(s!==Ri&&_i(s),e.callbackNode=null,e.callbackPriority=0);else{if(null!==s){if(e.callbackPriority===t)return;s!==Ri&&_i(s)}15===t?(s=jl.bind(null,e),null===qi?(qi=[s],zi=Ai(Ii,Yi)):qi.push(s),s=Ri):14===t?s=Gi(99,jl.bind(null,e)):(s=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(a(358,e))}}(t),s=Gi(s,xl.bind(null,e))),e.callbackPriority=t,e.callbackNode=s}}function xl(e){if(ll=-1,dl=cl=0,0!==(48&Po))throw Error(a(327));var t=e.callbackNode;if(Ol()&&e.callbackNode!==t)return null;var s=Lt(e,e===Do?Oo:0);if(0===s)return null;var n=s,i=Po;Po|=16;var r=_l();for(Do===e&&Oo===n||(Vo(),Nl(e,n));;)try{Tl();break}catch(l){Al(e,l)}if(sr(),Eo.current=r,Po=i,null!==Fo?n=0:(Do=null,Oo=0,n=qo),0!==(Uo&Wo))Nl(e,0);else if(0!==n){if(2===n&&(Po|=64,e.hydrate&&(e.hydrate=!1,Gn(e.containerInfo)),0!==(s=qt(e))&&(n=Ml(e,s))),1===n)throw t=zo,Nl(e,0),vl(e,s),yl(e,Wi()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=s,n){case 0:case 1:throw Error(a(345));case 2:case 5:Pl(e);break;case 3:if(vl(e,s),(62914560&s)===s&&10<(n=$o+500-Wi())){if(0!==Lt(e,0))break;if(((i=e.suspendedLanes)&s)!==s){pl(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=Zn(Pl.bind(null,e),n);break}Pl(e);break;case 4:if(vl(e,s),(4186112&s)===s)break;for(n=e.eventTimes,i=-1;0<s;){var o=31-Ht(s);r=1<<o,(o=n[o])>i&&(i=o),s&=~r}if(s=i,10<(s=(120>(s=Wi()-s)?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*To(s/1960))-s)){e.timeoutHandle=Zn(Pl.bind(null,e),s);break}Pl(e);break;default:throw Error(a(329))}}
vendor: 4,555 bytes, line 2
2return yl(e,Wi()),e.callbackNode===t?xl.bind(null,e):null}function vl(e,t){for(t&=~Ho,t&=~Wo,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var s=31-Ht(t),n=1<<s;e[s]=-1,t&=~n}}function jl(e){if(0!==(48&Po))throw Error(a(327));if(Ol(),e===Do&&0!==(e.expiredLanes&Oo)){var t=Oo,s=Ml(e,t);0!==(Uo&Wo)&&(s=Ml(e,t=Lt(e,t)))}else s=Ml(e,t=Lt(e,0));if(0!==e.tag&&2===s&&(Po|=64,e.hydrate&&(e.hydrate=!1,Gn(e.containerInfo)),0!==(t=qt(e))&&(s=Ml(e,t))),1===s)throw s=zo,Nl(e,0),vl(e,t),yl(e,Wi()),s;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Pl(e),yl(e,Wi()),null}function wl(e,t){var s=Po;Po|=1;try{return e(t)}finally{0===(Po=s)&&(Vo(),Vi())}}function bl(e,t){var s=Po;Po&=-2,Po|=8;try{return e(t)}finally{0===(Po=s)&&(Vo(),Vi())}}function Sl(e,t){ui(Lo,Ro),Ro|=t,Uo|=t}function kl(){Ro=Lo.current,di(Lo)}function Nl(e,t){e.finishedWork=null,e.finishedLanes=0;var s=e.timeoutHandle;if(-1!==s&&(e.timeoutHandle=-1,$n(s)),null!==Fo)for(s=Fo.return;null!==s;){var n=s;switch(n.tag){case 1:null!==(n=n.type.childContextTypes)&&void 0!==n&&xi();break;case 3:Dr(),di(mi),di(pi),Yr();break;case 5:Or(n);break;case 4:Dr();break;case 13:case 19:di(Rr);break;case 10:nr(n);break;case 23:case 24:kl()}s=s.return}Do=e,Fo=Gl(e.current,null),Oo=Ro=Uo=t,qo=0,zo=null,Ho=Wo=Bo=0}function Al(e,t){for(;;){var s=Fo;try{if(sr(),Kr.current=Ea,sa){for(var n=Jr.memoizedState;null!==n;){var i=n.queue;null!==i&&(i.pending=null),n=n.next}sa=!1}if(Xr=0,ta=ea=Jr=null,na=!1,Io.current=null,null===s||null===s.return){qo=1,zo=t,Fo=null;break}e:{var r=e,a=s.return,o=s,l=t;if(t=Oo,o.flags|=2048,o.firstEffect=o.lastEffect=null,null!==l&&"object"===typeof l&&"function"===typeof l.then){var c=l;if(0===(2&o.mode)){var d=o.alternate;d?(o.updateQueue=d.updateQueue,o.memoizedState=d.memoizedState,o.lanes=d.lanes):(o.updateQueue=null,o.memoizedState=null)}var u=0!==(1&Rr.current),h=a;do{var p;if(p=13===h.tag){var m=h.memoizedState;if(null!==m)p=null!==m.dehydrated;else{var f=h.memoizedProps;p=void 0!==f.fallback&&(!0!==f.unstable_avoidThisFallback||!u)}}if(p){var g=h.updateQueue;if(null===g){var y=new Set;y.add(c),h.updateQueue=y}else g.add(c);if(0===(2&h.mode)){if(h.flags|=64,o.flags|=16384,o.flags&=-2981,1===o.tag)if(null===o.alternate)o.tag=17;else{var x=dr(-1,1);x.tag=2,ur(o,x)}o.lanes|=1;break e}l=void 0,o=t;var v=r.pingCache;if(null===v?(v=r.pingCache=new ho,l=new Set,v.set(c,l)):void 0===(l=v.get(c))&&(l=new Set,v.set(c,l)),!l.has(o)){l.add(o);var j=Bl.bind(null,r,c,o);c.then(j,j)}h.flags|=4096,h.lanes=t;break e}h=h.return}while(null!==h);l=Error((G(o.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==qo&&(qo=2),l=co(l,o),h=a;do{switch(h.tag){case 3:r=l,h.flags|=4096,t&=-t,h.lanes|=t,hr(h,po(0,r,t));break e;case 1:r=l;var w=h.type,b=h.stateNode;if(0===(64&h.flags)&&("function"===typeof w.getDerivedStateFromError||null!==b&&"function"===typeof b.componentDidCatch&&(null===Jo||!Jo.has(b)))){h.flags|=4096,t&=-t,h.lanes|=t,hr(h,mo(h,r,t));break e}}h=h.return}while(null!==h)}Il(s)}catch(S){t=S,Fo===s&&null!==s&&(Fo=s=s.return);continue}break}}function _l(){var e=Eo.current;return Eo.current=Ea,null===e?Ea:e}function Ml(e,t){var s=Po;Po|=16;var n=_l();for(Do===e&&Oo===t||Nl(e,t);;)try{Cl();break}catch(i){Al(e,i)}if(sr(),Po=s,Eo.current=n,null!==Fo)throw Error(a(261));return Do=null,Oo=0,qo}function Cl(){for(;null!==Fo;)El(Fo)}function Tl(){for(;null!==Fo&&!Mi();)El(Fo)}function El(e){var t=Yo(e.alternate,e,Ro);e.memoizedProps=e.pendingProps,null===t?Il(e):Fo=t,Io.current=null}function Il(e){var t=e;do{var s=t.alternate;if(e=t.return,0===(2048&t.flags)){if(null!==(s=oo(s,t,Ro)))return void(Fo=s);if(24!==(s=t).tag&&23!==s.tag||null===s.memoizedState||0!==(1073741824&Ro)||0===(4&s.mode)){for(var n=0,i=s.child;null!==i;)n|=i.lanes|i.childLanes,i=i.sibling;s.childLanes=n}null!==e&&0===(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(s=lo(t)))return s.flags&=2047,void(Fo=s);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Fo=t);Fo=t=e}while(null!==t);0===qo&&(qo=5)}function Pl(e){var t=Hi();return $i(99,Dl.bind(null,e,t)),null}function Dl(e,t){do{Ol()}while(null!==tl);
vendor: 3,466 bytes, line 2
2if(0!==(48&Po))throw Error(a(327));var s=e.finishedWork;if(null===s)return null;if(e.finishedWork=null,e.finishedLanes=0,s===e.current)throw Error(a(177));e.callbackNode=null;var n=s.lanes|s.childLanes,i=n,r=e.pendingLanes&~i;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=i,e.mutableReadLanes&=i,e.entangledLanes&=i,i=e.entanglements;for(var o=e.eventTimes,l=e.expirationTimes;0<r;){var c=31-Ht(r),d=1<<c;i[c]=0,o[c]=-1,l[c]=-1,r&=~d}if(null!==rl&&0===(24&n)&&rl.has(e)&&rl.delete(e),e===Do&&(Fo=Do=null,Oo=0),1<s.flags?null!==s.lastEffect?(s.lastEffect.nextEffect=s,n=s.firstEffect):n=s:n=s.firstEffect,null!==n){if(i=Po,Po|=32,Io.current=null,Un=Yt,yn(o=gn())){if("selectionStart"in o)l={start:o.selectionStart,end:o.selectionEnd};else e:if(l=(l=o.ownerDocument)&&l.defaultView||window,(d=l.getSelection&&l.getSelection())&&0!==d.rangeCount){l=d.anchorNode,r=d.anchorOffset,c=d.focusNode,d=d.focusOffset;try{l.nodeType,c.nodeType}catch(A){l=null;break e}var u=0,h=-1,p=-1,m=0,f=0,g=o,y=null;t:for(;;){for(var x;g!==l||0!==r&&3!==g.nodeType||(h=u+r),g!==c||0!==d&&3!==g.nodeType||(p=u+d),3===g.nodeType&&(u+=g.nodeValue.length),null!==(x=g.firstChild);)y=g,g=x;for(;;){if(g===o)break t;if(y===l&&++m===r&&(h=u),y===c&&++f===d&&(p=u),null!==(x=g.nextSibling))break;y=(g=y).parentNode}g=x}l=-1===h||-1===p?null:{start:h,end:p}}else l=null;l=l||{start:0,end:0}}else l=null;Bn={focusedElem:o,selectionRange:l},Yt=!1,ul=null,hl=!1,Ko=n;do{try{Fl()}catch(A){if(null===Ko)throw Error(a(330));Ul(Ko,A),Ko=Ko.nextEffect}}while(null!==Ko);ul=null,Ko=n;do{try{for(o=e;null!==Ko;){var v=Ko.flags;if(16&v&&xe(Ko.stateNode,""),128&v){var j=Ko.alternate;if(null!==j){var w=j.ref;null!==w&&("function"===typeof w?w(null):w.current=null)}}switch(1038&v){case 2:So(Ko),Ko.flags&=-3;break;case 6:So(Ko),Ko.flags&=-3,_o(Ko.alternate,Ko);break;case 1024:Ko.flags&=-1025;break;case 1028:Ko.flags&=-1025,_o(Ko.alternate,Ko);break;case 4:_o(Ko.alternate,Ko);break;case 8:Ao(o,l=Ko);var b=l.alternate;wo(l),null!==b&&wo(b)}Ko=Ko.nextEffect}}catch(A){if(null===Ko)throw Error(a(330));Ul(Ko,A),Ko=Ko.nextEffect}}while(null!==Ko);if(w=Bn,j=gn(),v=w.focusedElem,o=w.selectionRange,j!==v&&v&&v.ownerDocument&&fn(v.ownerDocument.documentElement,v)){null!==o&&yn(v)&&(j=o.start,void 0===(w=o.end)&&(w=j),"selectionStart"in v?(v.selectionStart=j,v.selectionEnd=Math.min(w,v.value.length)):(w=(j=v.ownerDocument||document)&&j.defaultView||window).getSelection&&(w=w.getSelection(),l=v.textContent.length,b=Math.min(o.start,l),o=void 0===o.end?b:Math.min(o.end,l),!w.extend&&b>o&&(l=o,o=b,b=l),l=mn(v,b),r=mn(v,o),l&&r&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==r.node||w.focusOffset!==r.offset)&&((j=j.createRange()).setStart(l.node,l.offset),w.removeAllRanges(),b>o?(w.addRange(j),w.extend(r.node,r.offset)):(j.setEnd(r.node,r.offset),w.addRange(j))))),j=[];for(w=v;w=w.parentNode;)1===w.nodeType&&j.push({element:w,left:w.scrollLeft,top:w.scrollTop});for("function"===typeof v.focus&&v.focus(),v=0;v<j.length;v++)(w=j[v]).element.scrollLeft=w.left,w.element.scrollTop=w.top}Yt=!!Un,Bn=Un=null,e.current=s,Ko=n;do{try{for(v=e;null!==Ko;){var S=Ko.flags;if(36&S&&xo(v,Ko.alternate,Ko),128&S){j=void 0;var k=Ko.ref;if(null!==k){var N=Ko.stateNode;Ko.tag,j=N,"function"===typeof k?k(j):k.current=j}}Ko=Ko.nextEffect}}catch(A){if(null===Ko)throw Error(a(330));Ul(Ko,A),Ko=Ko.nextEffect}}while(null!==Ko);Ko=null,Li(),Po=i}else e.current=s;
2if(el)el=!1,tl=e,sl=t;else for(Ko=n;null!==Ko;)t=Ko.nextEffect,Ko.nextEffect=null,8&Ko.flags&&((S=Ko).sibling=null,S.stateNode=null),Ko=t;if(0===(n=e.pendingLanes)&&(Jo=null),1===n?e===ol?al++:(al=0,ol=e):al=0,s=s.stateNode,ki&&"function"===typeof ki.onCommitFiberRoot)try{ki.onCommitFiberRoot(Si,s,void 0,64===(64&s.current.flags))}catch(A){}if(yl(e,Wi()),Qo)throw Qo=!1,e=Xo,Xo=null,e;return 0!==(8&Po)||Vi(),null}function Fl(){for(;null!==Ko;){var e=Ko.alternate;hl||null===ul||(0!==(8&Ko.flags)?et(Ko,ul)&&(hl=!0):13===Ko.tag&&Co(e,Ko)&&et(Ko,ul)&&(hl=!0));var t=Ko.flags;0!==(256&t)&&yo(e,Ko),0===(512&t)||el||(el=!0,Gi(97,(function(){return Ol(),null}))),Ko=Ko.nextEffect}}function Ol(){if(90!==sl){var e=97<sl?97:sl;return sl=90,$i(e,ql)}return!1}function Rl(e,t){nl.push(t,e),el||(el=!0,Gi(97,(function(){return Ol(),null})))}function Ll(e,t){il.push(t,e),el||(el=!0,Gi(97,(function(){return Ol(),null})))}function ql(){if(null===tl)return!1;var e=tl;if(tl=null,0!==(48&Po))throw Error(a(331));var t=Po;Po|=32;var s=il;il=[];for(var n=0;n<s.length;n+=2){var i=s[n],r=s[n+1],o=i.destroy;if(i.destroy=void 0,"function"===typeof o)try{o()}catch(c){if(null===r)throw Error(a(330));Ul(r,c)}}for(s=nl,nl=[],n=0;n<s.length;n+=2){i=s[n],r=s[n+1];try{var l=i.create;i.destroy=l()}catch(c){if(null===r)throw Error(a(330));Ul(r,c)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return Po=t,Vi(),!0}function zl(e,t,s){ur(e,t=po(0,t=co(s,t),1)),t=pl(),null!==(e=gl(e,1))&&(Wt(e,1,t),yl(e,t))}function Ul(e,t){if(3===e.tag)zl(e,e,t);else for(var s=e.return;null!==s;){if(3===s.tag){zl(s,e,t);break}if(1===s.tag){var n=s.stateNode;if("function"===typeof s.type.getDerivedStateFromError||"function"===typeof n.componentDidCatch&&(null===Jo||!Jo.has(n))){var i=mo(s,e=co(t,e),1);if(ur(s,i),i=pl(),null!==(s=gl(s,1)))Wt(s,1,i),yl(s,i);else if("function"===typeof n.componentDidCatch&&(null===Jo||!Jo.has(n)))try{n.componentDidCatch(t,e)}catch(r){}break}}s=s.return}}function Bl(e,t,s){var n=e.pingCache;null!==n&&n.delete(t),t=pl(),e.pingedLanes|=e.suspendedLanes&s,Do===e&&(Oo&s)===s&&(4===qo||3===qo&&(62914560&Oo)===Oo&&500>Wi()-$o?Nl(e,0):Ho|=s),yl(e,t)}function Wl(e,t){var s=e.stateNode;null!==s&&s.delete(t),0===(t=0)&&(0===(2&(t=e.mode))?t=1:0===(4&t)?t=99===Hi()?1:2:(0===cl&&(cl=Uo),0===(t=Ut(62914560&~cl))&&(t=4194304))),s=pl(),null!==(e=gl(e,t))&&(Wt(e,t,s),yl(e,s))}function Hl(e,t,s,n){this.tag=e,this.key=s,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Zl(e,t,s,n){return new Hl(e,t,s,n)}function $l(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Gl(e,t){var s=e.alternate;return null===s?((s=Zl(e.tag,t,e.key,e.mode)).elementType=e.elementType,s.type=e.type,s.stateNode=e.stateNode,s.alternate=e,e.alternate=s):(s.pendingProps=t,s.type=e.type,s.flags=0,s.nextEffect=null,s.firstEffect=null,s.lastEffect=null),s.childLanes=e.childLanes,s.lanes=e.lanes,s.child=e.child,s.memoizedProps=e.memoizedProps,s.memoizedState=e.memoizedState,s.updateQueue=e.updateQueue,t=e.dependencies,s.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},s.sibling=e.sibling,s.index=e.index,s.ref=e.ref,s}function Vl(e,t,s,n,i,r){var o=2;if(n=e,"function"===typeof e)$l(e)&&(o=1);else if("string"===typeof e)o=5;else e:switch(e){case k:return Yl(s.children,i,r,t);case O:o=8,i|=16;break;case N:o=8,i|=1;break;case A:return(e=Zl(12,s,t,8|i)).elementType=A,e.type=A,e.lanes=r,e;case T:return(e=Zl(13,s,t,i)).type=T,e.elementType=T,e.lanes=r,e;case E:return(e=Zl(19,s,t,i)).elementType=E,e.lanes=r,e;case R:return Kl(s,i,r,t);case L:return(e=Zl(24,s,t,i)).elementType=L,e.lanes=r,e;default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case _:o=10;break e;case M:o=9;break e;case C:o=11;break e;case I:o=14;break e;case P:o=16,n=null;break e;case D:o=22;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Zl(o,s,t,i)).elementType=e,t.type=n,t.lanes=r,t}function Yl(e,t,s,n){return(e=Zl(7,e,n,t)).lanes=s,e}function Kl(e,t,s,n){return(e=Zl(23,e,n,t)).elementType=R,e.lanes=s,e}function Ql(e,t,s){return(e=Zl(6,e,null,t)).lanes=s,e}function Xl(e,t,s){return(t=Zl(4,null!==e.children?e.children:[],e.key,t)).lanes=s,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}
vendor: 2,846 bytes, line 2
2function Jl(e,t,s){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=s,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=Bt(0),this.expirationTimes=Bt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Bt(0),this.mutableSourceEagerHydrationData=null}function ec(e,t,s,n){var i=t.current,r=pl(),o=ml(i);e:if(s){t:{if(Ke(s=s._reactInternals)!==s||1!==s.tag)throw Error(a(170));var l=s;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(yi(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(a(171))}if(1===s.tag){var c=s.type;if(yi(c)){s=ji(s,c,l);break e}}s=l}else s=hi;return null===t.context?t.context=s:t.pendingContext=s,(t=dr(r,o)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),ur(i,t),fl(i,o,r),o}function tc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function sc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var s=e.retryLane;e.retryLane=0!==s&&s<t?s:t}}function nc(e,t){sc(e,t),(e=e.alternate)&&sc(e,t)}function ic(e,t,s){var n=null!=s&&null!=s.hydrationOptions&&s.hydrationOptions.mutableSources||null;if(s=new Jl(e,t,null!=s&&!0===s.hydrate),t=Zl(3,null,null,2===t?7:1===t?3:0),s.current=t,t.stateNode=s,lr(t),e[ei]=s.current,In(8===e.nodeType?e.parentNode:e),n)for(e=0;e<n.length;e++){var i=(t=n[e])._getVersion;i=i(t._source),null==s.mutableSourceEagerHydrationData?s.mutableSourceEagerHydrationData=[t,i]:s.mutableSourceEagerHydrationData.push(t,i)}this._internalRoot=s}function rc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function ac(e,t,s,n,i){var r=s._reactRootContainer;if(r){var a=r._internalRoot;if("function"===typeof i){var o=i;i=function(){var e=tc(a);o.call(e)}}ec(t,a,e,i)}else{if(r=s._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var s;s=e.lastChild;)e.removeChild(s);return new ic(e,0,t?{hydrate:!0}:void 0)}(s,n),a=r._internalRoot,"function"===typeof i){var l=i;i=function(){var e=tc(a);l.call(e)}}bl((function(){ec(t,a,e,i)}))}return tc(a)}function oc(e,t){var s=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!rc(t))throw Error(a(200));return function(e,t,s){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==n?null:""+n,children:e,containerInfo:t,implementation:s}}(e,t,null,s)}Yo=function(e,t,s){var n=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||mi.current)Oa=!0;
vendor: 6,613 bytes, line 2
2else{if(0===(s&n)){switch(Oa=!1,t.tag){case 3:$a(t),Gr();break;case 5:Fr(t);break;case 1:yi(t.type)&&wi(t);break;case 4:Pr(t,t.stateNode.containerInfo);break;case 10:n=t.memoizedProps.value;var i=t.type._context;ui(Xi,i._currentValue),i._currentValue=n;break;case 13:if(null!==t.memoizedState)return 0!==(s&t.child.childLanes)?Xa(e,t,s):(ui(Rr,1&Rr.current),null!==(t=ro(e,t,s))?t.sibling:null);ui(Rr,1&Rr.current);break;case 19:if(n=0!==(s&t.childLanes),0!==(64&e.flags)){if(n)return io(e,t,s);t.flags|=64}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null,i.lastEffect=null),ui(Rr,Rr.current),n)break;return null;case 23:case 24:return t.lanes=0,Ua(e,t,s)}return ro(e,t,s)}Oa=0!==(16384&e.flags)}else Oa=!1;switch(t.lanes=0,t.tag){case 2:if(n=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,i=gi(t,pi.current),rr(t,s),i=aa(null,t,n,e,i,s),t.flags|=1,"object"===typeof i&&null!==i&&"function"===typeof i.render&&void 0===i.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,yi(n)){var r=!0;wi(t)}else r=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,lr(t);var o=n.getDerivedStateFromProps;"function"===typeof o&&gr(t,n,o,e),i.updater=yr,t.stateNode=i,i._reactInternals=t,wr(t,n,e,s),t=Za(null,t,n,!0,r,s)}else t.tag=0,Ra(null,t,i,s),t=t.child;return t;case 16:i=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,i=(r=i._init)(i._payload),t.type=i,r=t.tag=function(e){if("function"===typeof e)return $l(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===C)return 11;if(e===I)return 14}return 2}(i),e=Qi(i,e),r){case 0:t=Wa(null,t,i,e,s);break e;case 1:t=Ha(null,t,i,e,s);break e;case 11:t=La(null,t,i,e,s);break e;case 14:t=qa(null,t,i,Qi(i.type,e),n,s);break e}throw Error(a(306,i,""))}return t;case 0:return n=t.type,i=t.pendingProps,Wa(e,t,n,i=t.elementType===n?i:Qi(n,i),s);case 1:return n=t.type,i=t.pendingProps,Ha(e,t,n,i=t.elementType===n?i:Qi(n,i),s);case 3:if($a(t),n=t.updateQueue,null===e||null===n)throw Error(a(282));if(n=t.pendingProps,i=null!==(i=t.memoizedState)?i.element:null,cr(e,t),pr(t,n,null,s),(n=t.memoizedState.element)===i)Gr(),t=ro(e,t,s);else{if((r=(i=t.stateNode).hydrate)&&(zr=Vn(t.stateNode.containerInfo.firstChild),qr=t,r=Ur=!0),r){if(null!=(e=i.mutableSourceEagerHydrationData))for(i=0;i<e.length;i+=2)(r=e[i])._workInProgressVersionPrimary=e[i+1],Vr.push(r);for(s=_r(t,null,n,s),t.child=s;s;)s.flags=-3&s.flags|1024,s=s.sibling}else Ra(e,t,n,s),Gr();t=t.child}return t;case 5:return Fr(t),null===e&&Hr(t),n=t.type,i=t.pendingProps,r=null!==e?e.memoizedProps:null,o=i.children,Hn(n,i)?o=null:null!==r&&Hn(n,r)&&(t.flags|=16),Ba(e,t),Ra(e,t,o,s),t.child;case 6:return null===e&&Hr(t),null;case 13:return Xa(e,t,s);case 4:return Pr(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=Ar(t,null,n,s):Ra(e,t,n,s),t.child;case 11:return n=t.type,i=t.pendingProps,La(e,t,n,i=t.elementType===n?i:Qi(n,i),s);case 7:return Ra(e,t,t.pendingProps,s),t.child;case 8:case 12:return Ra(e,t,t.pendingProps.children,s),t.child;case 10:e:{n=t.type._context,i=t.pendingProps,o=t.memoizedProps,r=i.value;var l=t.type._context;if(ui(Xi,l._currentValue),l._currentValue=r,null!==o)if(l=o.value,0===(r=dn(l,r)?0:0|("function"===typeof n._calculateChangedBits?n._calculateChangedBits(l,r):1073741823))){if(o.children===i.children&&!mi.current){t=ro(e,t,s);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var c=l.dependencies;if(null!==c){o=l.child;for(var d=c.firstContext;null!==d;){if(d.context===n&&0!==(d.observedBits&r)){1===l.tag&&((d=dr(-1,s&-s)).tag=2,ur(l,d)),l.lanes|=s,null!==(d=l.alternate)&&(d.lanes|=s),ir(l.return,s),c.lanes|=s;break}d=d.next}}else o=10===l.tag&&l.type===t.type?null:l.child;if(null!==o)o.return=l;else for(o=l;null!==o;){if(o===t){o=null;break}if(null!==(l=o.sibling)){l.return=o.return,o=l;break}o=o.return}l=o}Ra(e,t,i.children,s),t=t.child}return t;case 9:return i=t.type,n=(r=t.pendingProps).children,rr(t,s),n=n(i=ar(i,r.unstable_observedBits)),t.flags|=1,Ra(e,t,n,s),t.child;case 14:return r=Qi(i=t.type,t.pendingProps),qa(e,t,i,r=Qi(i.type,r),n,s);case 15:return za(e,t,t.type,t.pendingProps,n,s);case 17:return n=t.type,i=t.pendingProps,i=t.elementType===n?i:Qi(n,i),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,yi(n)?(e=!0,wi(t)):e=!1,rr(t,s),vr(t,n,i),wr(t,n,i,s),Za(null,t,n,!0,e,s);case 19:return io(e,t,s);case 23:case 24:return Ua(e,t,s)}throw Error(a(156,t.tag))},ic.prototype.render=function(e){ec(e,this._internalRoot,null,null)},ic.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;ec(null,e,null,(function(){t[ei]=null}))},tt=function(e){13===e.tag&&(fl(e,4,pl()),nc(e,4))},st=function(e){13===e.tag&&(fl(e,67108864,pl()),nc(e,67108864))},nt=function(e){if(13===e.tag){var t=pl(),s=ml(e);fl(e,s,t),nc(e,s)}},it=function(e,t){return t()},_e=function(e,t,s){switch(t){case"input":if(se(e,s),t=s.name,"radio"===s.type&&null!=t){for(s=e;s.parentNode;)s=s.parentNode;for(s=s.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<s.length;t++){var n=s[t];if(n!==e&&n.form===e.form){var i=ri(n);if(!i)throw Error(a(90));Q(n),se(n,i)}}}break;case"textarea":ce(e,s);break;case"select":null!=(t=s.value)&&ae(e,!!s.multiple,t,!1)}},Pe=wl,De=function(e,t,s,n,i){var r=Po;Po|=4;try{return $i(98,e.bind(null,t,s,n,i))}finally{0===(Po=r)&&(Vo(),Vi())}},Fe=function(){0===(49&Po)&&(function(){if(null!==rl){var e=rl;rl=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,yl(e,Wi())}))}Vi()}(),Ol())},Oe=function(e,t){var s=Po;Po|=2;try{return e(t)}finally{0===(Po=s)&&(Vo(),Vi())}};var lc={Events:[ni,ii,ri,Ee,Ie,Ol,{current:!1}]},cc={findFiberByHostInstance:si,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},dc={bundleType:cc.bundleType,version:cc.version,rendererPackageName:cc.rendererPackageName,rendererConfig:cc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Je(e))?null:e.stateNode},findFiberByHostInstance:cc.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var uc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!uc.isDisabled&&uc.supportsFiber)try{Si=uc.inject(dc),ki=uc}catch(ge){}}
2t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lc,t.createPortal=oc,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(a(188));throw Error(a(268,Object.keys(e)))}return e=null===(e=Je(t))?null:e.stateNode},t.flushSync=function(e,t){var s=Po;if(0!==(48&s))return e(t);Po|=1;try{if(e)return $i(99,e.bind(null,t))}finally{Po=s,Vi()}},t.hydrate=function(e,t,s){if(!rc(t))throw Error(a(200));return ac(null,e,t,!0,s)},t.render=function(e,t,s){if(!rc(t))throw Error(a(200));return ac(null,e,t,!1,s)},t.unmountComponentAtNode=function(e){if(!rc(e))throw Error(a(40));return!!e._reactRootContainer&&(bl((function(){ac(null,null,e,!1,(function(){e._reactRootContainer=null,e[ei]=null}))})),!0)},t.unstable_batchedUpdates=wl,t.unstable_createPortal=function(e,t){return oc(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,s,n){if(!rc(s))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return ac(e,t,s,!1,n)},t.version="17.0.2"},950:(e,t,s)=>{"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=s(730)},366:e=>{var t="undefined"!==typeof Element,s="function"===typeof Map,n="function"===typeof Set,i="function"===typeof ArrayBuffer&&!!ArrayBuffer.isView;function r(e,a){if(e===a)return!0;if(e&&a&&"object"==typeof e&&"object"==typeof a){if(e.constructor!==a.constructor)return!1;var o,l,c,d;if(Array.isArray(e)){if((o=e.length)!=a.length)return!1;for(l=o;0!==l--;)if(!r(e[l],a[l]))return!1;return!0}if(s&&e instanceof Map&&a instanceof Map){if(e.size!==a.size)return!1;for(d=e.entries();!(l=d.next()).done;)if(!a.has(l.value[0]))return!1;for(d=e.entries();!(l=d.next()).done;)if(!r(l.value[1],a.get(l.value[0])))return!1;return!0}if(n&&e instanceof Set&&a instanceof Set){if(e.size!==a.size)return!1;for(d=e.entries();!(l=d.next()).done;)if(!a.has(l.value[0]))return!1;return!0}if(i&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(a)){if((o=e.length)!=a.length)return!1;for(l=o;0!==l--;)if(e[l]!==a[l])return!1;return!0}if(e.constructor===RegExp)return e.source===a.source&&e.flags===a.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"===typeof e.valueOf&&"function"===typeof a.valueOf)return e.valueOf()===a.valueOf();if(e.toString!==Object.prototype.toString&&"function"===typeof e.toString&&"function"===typeof a.toString)return e.toString()===a.toString();if((o=(c=Object.keys(e)).length)!==Object.keys(a).length)return!1;for(l=o;0!==l--;)if(!Object.prototype.hasOwnProperty.call(a,c[l]))return!1;if(t&&e instanceof Element)return!1;for(l=o;0!==l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!e.$$typeof)&&!r(e[c[l]],a[c[l]]))return!1;return!0}return e!==e&&a!==a}e.exports=function(e,t){try{return r(e,t)}catch(s){if((s.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw s}}},82:(e,t)=>{"use strict";var s="function"===typeof Symbol&&Symbol.for,n=s?Symbol.for("react.element"):60103,i=s?Symbol.for("react.portal"):60106,r=s?Symbol.for("react.fragment"):60107,a=s?Symbol.for("react.strict_mode"):60108,o=s?Symbol.for("react.profiler"):60114,l=s?Symbol.for("react.provider"):60109,c=s?Symbol.for("react.context"):60110,d=s?Symbol.for("react.async_mode"):60111,u=s?Symbol.for("react.concurrent_mode"):60111,h=s?Symbol.for("react.forward_ref"):60112,p=s?Symbol.for("react.suspense"):60113,m=s?Symbol.for("react.suspense_list"):60120,f=s?Symbol.for("react.memo"):60115,g=s?Symbol.for("react.lazy"):60116,y=s?Symbol.for("react.block"):60121,x=s?Symbol.for("react.fundamental"):60117,v=s?Symbol.for("react.responder"):60118,j=s?Symbol.for("react.scope"):60119;function w(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case d:case u:case r:case o:case a:case p:return e;default:switch(e=e&&e.$$typeof){case c:case h:case g:case f:case l:return e;default:return t}}case i:return t}}}function b(e){return w(e)===u}t.AsyncMode=d,t.ConcurrentMode=u,t.ContextConsumer=c,t.ContextProvider=l,t.Element=n,t.ForwardRef=h,t.Fragment=r,t.Lazy=g,t.Memo=f,t.Portal=i,t.Profiler=o,t.StrictMode=a,t.Suspense=p,t.isAsyncMode=function(e){return b(e)||w(e)===d},t.isConcurrentMode=b,t.isContextConsumer=function(e){return w(e)===c},t.isContextProvider=function(e){return w(e)===l},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return w(e)===h},t.isFragment=function(e){return w(e)===r},t.isLazy=function(e){return w(e)===g},t.isMemo=function(e){return w(e)===f},t.isPortal=function(e){return w(e)===i},t.isProfiler=function(e){return w(e)===o},t.isStrictMode=function(e){return w(e)===a},t.isSuspense=function(e){return w(e)===p},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===r||e===u||e===o||e===a||e===p||e===m||"object"===typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===f||e.$$typeof===l||e.$$typeof===c||e.$$typeof===h||e.$$typeof===x||e.$$typeof===v||e.$$typeof===j||e.$$typeof===y)},t.typeOf=w},86:(e,t,s)=>{"use strict";e.exports=s(82)},153:(e,t,s)=>{"use strict";s(123);var n=s(43),i=60103;if(t.Fragment=60107,"function"===typeof Symbol&&Symbol.for){var r=Symbol.for;i=r("react.element"),t.Fragment=r("react.fragment")}
2var a=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o=Object.prototype.hasOwnProperty,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,s){var n,r={},c=null,d=null;for(n in void 0!==s&&(c=""+s),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)o.call(t,n)&&!l.hasOwnProperty(n)&&(r[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===r[n]&&(r[n]=t[n]);return{$$typeof:i,type:e,key:c,ref:d,props:r,_owner:a.current}}t.jsx=c,t.jsxs=c},202:(e,t,s)=>{"use strict";var n=s(123),i=60103,r=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var a=60109,o=60110,l=60112;t.Suspense=60113;var c=60115,d=60116;if("function"===typeof Symbol&&Symbol.for){var u=Symbol.for;i=u("react.element"),r=u("react.portal"),t.Fragment=u("react.fragment"),t.StrictMode=u("react.strict_mode"),t.Profiler=u("react.profiler"),a=u("react.provider"),o=u("react.context"),l=u("react.forward_ref"),t.Suspense=u("react.suspense"),c=u("react.memo"),d=u("react.lazy")}var h="function"===typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,s=1;s<arguments.length;s++)t+="&args[]="+encodeURIComponent(arguments[s]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f={};function g(e,t,s){this.props=e,this.context=t,this.refs=f,this.updater=s||m}function y(){}function x(e,t,s){this.props=e,this.context=t,this.refs=f,this.updater=s||m}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=g.prototype;var v=x.prototype=new y;v.constructor=x,n(v,g.prototype),v.isPureReactComponent=!0;var j={current:null},w=Object.prototype.hasOwnProperty,b={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,s){var n,r={},a=null,o=null;if(null!=t)for(n in void 0!==t.ref&&(o=t.ref),void 0!==t.key&&(a=""+t.key),t)w.call(t,n)&&!b.hasOwnProperty(n)&&(r[n]=t[n]);var l=arguments.length-2;if(1===l)r.children=s;else if(1<l){for(var c=Array(l),d=0;d<l;d++)c[d]=arguments[d+2];r.children=c}if(e&&e.defaultProps)for(n in l=e.defaultProps)void 0===r[n]&&(r[n]=l[n]);return{$$typeof:i,type:e,key:a,ref:o,props:r,_owner:j.current}}function k(e){return"object"===typeof e&&null!==e&&e.$$typeof===i}var N=/\/+/g;function A(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function _(e,t,s,n,a){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var l=!1;if(null===e)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case i:case r:l=!0}}if(l)return a=a(l=e),e=""===n?"."+A(l,0):n,Array.isArray(a)?(s="",null!=e&&(s=e.replace(N,"$&/")+"/"),_(a,t,s,"",(function(e){return e}))):null!=a&&(k(a)&&(a=function(e,t){return{$$typeof:i,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(a,s+(!a.key||l&&l.key===a.key?"":(""+a.key).replace(N,"$&/")+"/")+e)),t.push(a)),1;if(l=0,n=""===n?".":n+":",Array.isArray(e))for(var c=0;c<e.length;c++){var d=n+A(o=e[c],c);l+=_(o,t,s,d,a)}else if(d=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=h&&e[h]||e["@@iterator"])?e:null}(e),"function"===typeof d)for(e=d.call(e),c=0;!(o=e.next()).done;)l+=_(o=o.value,t,s,d=n+A(o,c++),a);else if("object"===o)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return l}function M(e,t,s){if(null==e)return e;var n=[],i=0;return _(e,n,"","",(function(e){return t.call(s,e,i++)})),n}function C(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var T={current:null};function E(){var e=T.current;
vendor: 6,837 bytes, line 2
2if(null===e)throw Error(p(321));return e}var I={ReactCurrentDispatcher:T,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:j,IsSomeRendererActing:{current:!1},assign:n};t.Children={map:M,forEach:function(e,t,s){M(e,(function(){t.apply(this,arguments)}),s)},count:function(e){var t=0;return M(e,(function(){t++})),t},toArray:function(e){return M(e,(function(e){return e}))||[]},only:function(e){if(!k(e))throw Error(p(143));return e}},t.Component=g,t.PureComponent=x,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,t.cloneElement=function(e,t,s){if(null===e||void 0===e)throw Error(p(267,e));var r=n({},e.props),a=e.key,o=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,l=j.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(d in t)w.call(t,d)&&!b.hasOwnProperty(d)&&(r[d]=void 0===t[d]&&void 0!==c?c[d]:t[d])}var d=arguments.length-2;if(1===d)r.children=s;else if(1<d){c=Array(d);for(var u=0;u<d;u++)c[u]=arguments[u+2];r.children=c}return{$$typeof:i,type:e.type,key:a,ref:o,props:r,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:o,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=k,t.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:C}},t.memo=function(e,t){return{$$typeof:c,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return E().useCallback(e,t)},t.useContext=function(e,t){return E().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return E().useEffect(e,t)},t.useImperativeHandle=function(e,t,s){return E().useImperativeHandle(e,t,s)},t.useLayoutEffect=function(e,t){return E().useLayoutEffect(e,t)},t.useMemo=function(e,t){return E().useMemo(e,t)},t.useReducer=function(e,t,s){return E().useReducer(e,t,s)},t.useRef=function(e){return E().useRef(e)},t.useState=function(e){return E().useState(e)},t.version="17.0.2"},43:(e,t,s)=>{"use strict";e.exports=s(202)},579:(e,t,s)=>{"use strict";e.exports=s(153)},234:(e,t)=>{"use strict";var s,n,i,r;if("object"===typeof performance&&"function"===typeof performance.now){var a=performance;t.unstable_now=function(){return a.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}if("undefined"===typeof window||"function"!==typeof MessageChannel){var c=null,d=null,u=function(){if(null!==c)try{var e=t.unstable_now();c(!0,e),c=null}catch(s){throw setTimeout(u,0),s}};s=function(e){null!==c?setTimeout(s,0,e):(c=e,setTimeout(u,0))},n=function(e,t){d=setTimeout(e,t)},i=function(){clearTimeout(d)},t.unstable_shouldYield=function(){return!1},r=t.unstable_forceFrameRate=function(){}}else{var h=window.setTimeout,p=window.clearTimeout;if("undefined"!==typeof console){var m=window.cancelAnimationFrame;"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!==typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var f=!1,g=null,y=-1,x=5,v=0;t.unstable_shouldYield=function(){return t.unstable_now()>=v},r=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):x=0<e?Math.floor(1e3/e):5};var j=new MessageChannel,w=j.port2;j.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();v=e+x;try{g(!0,e)?w.postMessage(null):(f=!1,g=null)}catch(s){throw w.postMessage(null),s}}else f=!1},s=function(e){g=e,f||(f=!0,w.postMessage(null))},n=function(e,s){y=h((function(){e(t.unstable_now())}),s)},i=function(){p(y),y=-1}}function b(e,t){var s=e.length;e.push(t);e:for(;;){var n=s-1>>>1,i=e[n];if(!(void 0!==i&&0<N(i,t)))break e;e[n]=t,e[s]=i,s=n}}function S(e){return void 0===(e=e[0])?null:e}function k(e){var t=e[0];if(void 0!==t){var s=e.pop();if(s!==t){e[0]=s;e:for(var n=0,i=e.length;n<i;){var r=2*(n+1)-1,a=e[r],o=r+1,l=e[o];if(void 0!==a&&0>N(a,s))void 0!==l&&0>N(l,a)?(e[n]=l,e[o]=s,n=o):(e[n]=a,e[r]=s,n=r);else{if(!(void 0!==l&&0>N(l,s)))break e;e[n]=l,e[o]=s,n=o}}}return t}return null}function N(e,t){var s=e.sortIndex-t.sortIndex;return 0!==s?s:e.id-t.id}var A=[],_=[],M=1,C=null,T=3,E=!1,I=!1,P=!1;function D(e){for(var t=S(_);null!==t;){if(null===t.callback)k(_);else{if(!(t.startTime<=e))break;k(_),t.sortIndex=t.expirationTime,b(A,t)}t=S(_)}}function F(e){if(P=!1,D(e),!I)if(null!==S(A))I=!0,s(O);else{var t=S(_);null!==t&&n(F,t.startTime-e)}}function O(e,s){I=!1,P&&(P=!1,i()),E=!0;var r=T;try{for(D(s),C=S(A);null!==C&&(!(C.expirationTime>s)||e&&!t.unstable_shouldYield());){var a=C.callback;if("function"===typeof a){C.callback=null,T=C.priorityLevel;var o=a(C.expirationTime<=s);s=t.unstable_now(),"function"===typeof o?C.callback=o:C===S(A)&&k(A),D(s)}else k(A);C=S(A)}if(null!==C)var l=!0;else{var c=S(_);null!==c&&n(F,c.startTime-s),l=!1}return l}finally{C=null,T=r,E=!1}}var R=r;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){I||E||(I=!0,s(O))},t.unstable_getCurrentPriorityLevel=function(){return T},t.unstable_getFirstCallbackNode=function(){return S(A)},t.unstable_next=function(e){switch(T){case 1:case 2:case 3:var t=3;break;default:t=T}var s=T;T=t;try{return e()}finally{T=s}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=R,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var s=T;T=e;try{return t()}finally{T=s}},t.unstable_scheduleCallback=function(e,r,a){var o=t.unstable_now();switch("object"===typeof a&&null!==a?a="number"===typeof(a=a.delay)&&0<a?o+a:o:a=o,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:M++,callback:r,priorityLevel:e,startTime:a,expirationTime:l=a+l,sortIndex:-1},a>o?(e.sortIndex=a,b(_,e),null===S(A)&&e===S(_)&&(P?i():P=!0,n(F,a-o))):(e.sortIndex=l,b(A,e),I||E||(I=!0,s(O))),e},t.unstable_wrapCallback=function(e){var t=T;return function(){var s=T;T=t;try{return e.apply(this,arguments)}finally{T=s}}}},853:(e,t,s)=>{"use strict";e.exports=s(234)},324:e=>{e.exports=function(e,t,s,n){var i=s?s.call(n,e,t):void 0;if(void 0!==i)return!!i;if(e===t)return!0;
2if("object"!==typeof e||!e||"object"!==typeof t||!t)return!1;var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var o=Object.prototype.hasOwnProperty.bind(t),l=0;l<r.length;l++){var c=r[l];if(!o(c))return!1;var d=e[c],u=t[c];if(!1===(i=s?s.call(n,d,u,c):void 0)||void 0===i&&d!==u)return!1}return!0}},490:(e,t,s)=>{"use strict";function n(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}s.d(t,{C:()=>o,Q:()=>u,u4:()=>n});var i={0:8203,1:8204,2:8205,3:8290,4:8291,5:8288,6:65279,7:8289,8:119155,9:119156,a:119157,b:119158,c:119159,d:119160,e:119161,f:119162},r={0:8203,1:8204,2:8205,3:65279},a=new Array(4).fill(String.fromCodePoint(r[0])).join("");function o(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"auto";return!0===s||"auto"===s&&(function(e){return!(!Number.isNaN(Number(e))||/[a-z]/i.test(e)&&!/\d+(?:[-:\/]\d+){2}(?:T\d+(?:[-:\/]\d+){1,2}(\.\d+)?Z?)?/.test(e))&&!!Date.parse(e)}(e)||function(e){try{new URL(e,e.startsWith("/")?"https://acme.com":void 0)}catch{return!1}return!0}(e))?e:`${e}${function(e){let t=JSON.stringify(e);return`${a}${Array.from(t).map((e=>{let s=e.charCodeAt(0);if(s>255)throw new Error(`Only ASCII edit info can be encoded. Error attempting to encode ${t} on character ${e} (${s})`);return Array.from(s.toString(4).padStart(4,"0")).map((e=>String.fromCodePoint(r[e]))).join("")})).join("")}`}(t)}`}Object.fromEntries(Object.entries(r).map((e=>e.reverse()))),Object.fromEntries(Object.entries(i).map((e=>e.reverse())));var l=`${Object.values(i).map((e=>`\\u{${e.toString(16)}}`)).join("")}`,c=new RegExp(`[${l}]{4,}`,"gu");function d(e){return e&&JSON.parse(function(e){var t;return{cleaned:e.replace(c,""),encoded:(null==(t=e.match(c))?void 0:t[0])||""}}(JSON.stringify(e)).cleaned)}function u(e){return d(e)}}},t={};function s(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={exports:{}};return e[n].call(r.exports,r,r.exports,s),r.exports}s.m=e,s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;s.t=function(n,i){if(1&i&&(n=this(n)),8&i)return n;if("object"===typeof n&&n){if(4&i&&n.__esModule)return n;if(16&i&&"function"===typeof n.then)return n}var r=Object.create(null);s.r(r);var a={};e=e||[null,t({}),t([]),t(t)];for(var o=2&i&&n;"object"==typeof o&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((e=>a[e]=()=>n[e]));return a.default=()=>n,s.d(r,a),r}})(),s.d=(e,t)=>{for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce(((t,n)=>(s.f[n](e,t),t)),[])),s.u=e=>"static/js/"+e+"."+{165:"20494ff2",796:"4e6e203b"}[e]+".chunk.js",s.miniCssF=e=>{},s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="active-online-software-page:";s.l=(n,i,r,a)=>{if(e[n])e[n].push(i);else{var o,l;if(void 0!==r)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var u=c[d];if(u.getAttribute("src")==n||u.getAttribute("data-webpack")==t+r){o=u;break}}o||(l=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,s.nc&&o.setAttribute("nonce",s.nc),o.setAttribute("data-webpack",t+r),o.src=n),e[n]=[i];var h=(t,s)=>{o.onerror=o.onload=null,clearTimeout(p);var i=e[n];if(delete e[n],o.parentNode&&o.parentNode.removeChild(o),i&&i.forEach((e=>e(s))),t)return t(s)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=h.bind(null,o.onerror),o.onload=h.bind(null,o.onload),l&&document.head.appendChild(o)}}})(),s.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.p="/",(()=>{var e={792:0};s.f.j=(t,n)=>{var i=s.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{var r=new Promise(((s,n)=>i=e[t]=[s,n]));n.push(i[2]=r);var a=s.p+s.u(t),o=new Error;s.l(a,(n=>{if(s.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var r=n&&("load"===n.type?"missing":n.type),a=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+r+": "+a+")",o.name="ChunkLoadError",o.type=r,o.request=a,i[1](o)}}),"chunk-"+t,t)}};var t=(t,n)=>{var i,r,a=n[0],o=n[1],l=n[2],c=0;if(a.some((t=>0!==e[t]))){for(i in o)s.o(o,i)&&(s.m[i]=o[i]);if(l)l(s)}for(t&&t(n);c<a.length;c++)r=a[c],s.o(e,r)&&e[r]&&e[r][0](),e[r]=0}
2,n=self.webpackChunkactive_online_software_page=self.webpackChunkactive_online_software_page||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";var e=s(43),t=s(950);function n(e,t){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},n(e,t)}function i(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,n(e,t)}var r=s(173),a=s.n(r);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)({}).hasOwnProperty.call(s,n)&&(e[n]=s[n])}return e},o.apply(null,arguments)}function l(e){return"/"===e.charAt(0)}function c(e,t){for(var s=t,n=s+1,i=e.length;n<i;s+=1,n+=1)e[s]=e[n];e.pop()}const d=function(e,t){void 0===t&&(t="");var s,n=e&&e.split("/")||[],i=t&&t.split("/")||[],r=e&&l(e),a=t&&l(t),o=r||a;if(e&&l(e)?i=n:n.length&&(i.pop(),i=i.concat(n)),!i.length)return"/";if(i.length){var d=i[i.length-1];s="."===d||".."===d||""===d}else s=!1;for(var u=0,h=i.length;h>=0;h--){var p=i[h];"."===p?c(i,h):".."===p?(c(i,h),u++):u&&(c(i,h),u--)}if(!o)for(;u--;u)i.unshift("..");!o||""===i[0]||i[0]&&l(i[0])||i.unshift("");var m=i.join("/");return s&&"/"!==m.substr(-1)&&(m+="/"),m};function u(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}const h=function e(t,s){if(t===s)return!0;if(null==t||null==s)return!1;if(Array.isArray(t))return Array.isArray(s)&&t.length===s.length&&t.every((function(t,n){return e(t,s[n])}));if("object"===typeof t||"object"===typeof s){var n=u(t),i=u(s);return n!==t||i!==s?e(n,i):Object.keys(Object.assign({},t,s)).every((function(n){return e(t[n],s[n])}))}return!1};var p="Invariant failed";function m(e,t){if(!e)throw new Error(p)}function f(e){return"/"===e.charAt(0)?e:"/"+e}function g(e){return"/"===e.charAt(0)?e.substr(1):e}function y(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function x(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function v(e){var t=e.pathname,s=e.search,n=e.hash,i=t||"/";return s&&"?"!==s&&(i+="?"===s.charAt(0)?s:"?"+s),n&&"#"!==n&&(i+="#"===n.charAt(0)?n:"#"+n),i}function j(e,t,s,n){var i;"string"===typeof e?(i=function(e){var t=e||"/",s="",n="",i=t.indexOf("#");-1!==i&&(n=t.substr(i),t=t.substr(0,i));var r=t.indexOf("?");return-1!==r&&(s=t.substr(r),t=t.substr(0,r)),{pathname:t,search:"?"===s?"":s,hash:"#"===n?"":n}}(e),i.state=t):(void 0===(i=o({},e)).pathname&&(i.pathname=""),i.search?"?"!==i.search.charAt(0)&&(i.search="?"+i.search):i.search="",i.hash?"#"!==i.hash.charAt(0)&&(i.hash="#"+i.hash):i.hash="",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(It){throw It instanceof URIError?new URIError('Pathname "'+i.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):It}return s&&(i.key=s),n?i.pathname?"/"!==i.pathname.charAt(0)&&(i.pathname=d(i.pathname,n.pathname)):i.pathname=n.pathname:i.pathname||(i.pathname="/"),i}function w(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,s,n,i){if(null!=e){var r="function"===typeof e?e(t,s):e;"string"===typeof r?"function"===typeof n?n(r,i):i(!0):i(!1!==r)}else i(!0)},appendListener:function(e){var s=!0;function n(){s&&e.apply(void 0,arguments)}return t.push(n),function(){s=!1,t=t.filter((function(e){return e!==n}))}},notifyListeners:function(){for(var e=arguments.length,s=new Array(e),n=0;n<e;n++)s[n]=arguments[n];t.forEach((function(e){return e.apply(void 0,s)}))}}}var b=!("undefined"===typeof window||!window.document||!window.document.createElement);function S(e,t){t(window.confirm(e))}var k="popstate",N="hashchange";function A(){try{return window.history.state||{}}catch(It){return{}}}function _(e){void 0===e&&(e={}),b||m(!1);var t=window.history,s=function(){var e=window.navigator.userAgent;return(-1===e.indexOf("Android 2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history}(),n=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,r=i.forceRefresh,a=void 0!==r&&r,l=i.getUserConfirmation,c=void 0===l?S:l,d=i.keyLength,u=void 0===d?6:d,h=e.basename?x(f(e.basename)):"";function p(e){var t=e||{},s=t.key,n=t.state,i=window.location,r=i.pathname+i.search+i.hash;return h&&(r=y(r,h)),j(r,n,s)}function g(){return Math.random().toString(36).substr(2,u)}var _=w();function M(e){o(z,e),z.length=t.length,_.notifyListeners(z.location,z.action)}function C(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||I(p(e.state))}function T(){I(p(A()))}var E=!1;function I(e){if(E)E=!1,M();else{_.confirmTransitionTo(e,"POP",c,(function(t){t?M({action:"POP",location:e}):function(e){var t=z.location,s=D.indexOf(t.key);-1===s&&(s=0);var n=D.indexOf(e.key);-1===n&&(n=0);var i=s-n;i&&(E=!0,O(i))}(e)}))}}var P=p(A()),D=[P.key];function F(e){return h+v(e)}function O(e){t.go(e)}var R=0;function L(e){1===(R+=e)&&1===e?(window.addEventListener(k,C),n&&window.addEventListener(N,T)):0===R&&(window.removeEventListener(k,C),n&&window.removeEventListener(N,T))}var q=!1;var z={length:t.length,action:"POP",location:P,createHref:F,push:function(e,n){var i="PUSH",r=j(e,n,g(),z.location);_.confirmTransitionTo(r,i,c,(function(e){if(e){var n=F(r),o=r.key,l=r.state;if(s)if(t.pushState({key:o,state:l}
2,null,n),a)window.location.href=n;else{var c=D.indexOf(z.location.key),d=D.slice(0,c+1);d.push(r.key),D=d,M({action:i,location:r})}else window.location.href=n}}))},replace:function(e,n){var i="REPLACE",r=j(e,n,g(),z.location);_.confirmTransitionTo(r,i,c,(function(e){if(e){var n=F(r),o=r.key,l=r.state;if(s)if(t.replaceState({key:o,state:l},null,n),a)window.location.replace(n);else{var c=D.indexOf(z.location.key);-1!==c&&(D[c]=r.key),M({action:i,location:r})}else window.location.replace(n)}}))},go:O,goBack:function(){O(-1)},goForward:function(){O(1)},block:function(e){void 0===e&&(e=!1);var t=_.setPrompt(e);return q||(L(1),q=!0),function(){return q&&(q=!1,L(-1)),t()}},listen:function(e){var t=_.appendListener(e);return L(1),function(){L(-1),t()}}};return z}var M="hashchange",C={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+g(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:g,decodePath:f},slash:{encodePath:f,decodePath:f}};function T(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function I(e){window.location.replace(T(window.location.href)+"#"+e)}function P(e){void 0===e&&{},b||m(!1);var t=window.history,s=(window.navigator.userAgent.indexOf("Firefox"),e),n=s.getUserConfirmation,i=void 0===n?S:n,r=s.hashType,a=void 0===r?"slash":r,l=e.basename?x(f(e.basename)):"",c=C[a],d=c.encodePath,u=c.decodePath;function h(){var e=u(E());return l&&y(e,l),j(e)}var p=w();function g(e){o(z,e),z.length=t.length,p.notifyListeners(z.location,z.action)}var k=!1,N=null;function A(){var e=E(),t=d(e);if(e!==t)I(t);else{var s=h(),n=z.location;if(!k&&function(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash}(n,s))return;if(N===v(s))return;(function(e){if(k)g();else{var t="POP";p.confirmTransitionTo(e,t,i,(function(s){s?g({action:t,location:e}):function(e){var t=z.location,s=F.lastIndexOf(v(t));-1===s&&0;var n=F.lastIndexOf(v(e));-1===n&&0;var i=s-n;i&&O(i)}(e)}))}})(s)}}var _=E(),P=d(_);_!==P&&I(P);var D=h(),F=[v(D)];function O(e){t.go(e)}var R=0;function L(e){1===(R+=e)&&1===e?window.addEventListener(M,A):0===R&&window.removeEventListener(M,A)}var q=!1;var z={length:t.length,action:"POP",location:D,createHref:function(e){var t=document.querySelector("base"),s="";return t&&t.getAttribute("href")&&T(window.location.href),s+"#"+d(l+v(e))},push:function(e,t){var s="PUSH",n=j(e,void 0,void 0,z.location);p.confirmTransitionTo(n,s,i,(function(e){if(e){var t=v(n),i=d(l+t);if(E()!==i){(function(e){window.location.hash=e})(i);var r=F.lastIndexOf(v(z.location)),a=F.slice(0,r+1);a.push(t),g({action:s,location:n})}else g()}}))},replace:function(e,t){var s="REPLACE",n=j(e,void 0,void 0,z.location);p.confirmTransitionTo(n,s,i,(function(e){if(e){var t=v(n),i=d(l+t);E()!==i&&I(i);var r=F.indexOf(v(z.location));-1!==r&&(F[r]=t),g({action:s,location:n})}}))},go:O,goBack:function(){O(-1)},goForward:function(){O(1)},block:function(e){void 0===e&&!1;var t=p.setPrompt(e);return q||(L(1),!0),function(){return q&&L(-1),t()}},listen:function(e){var t=p.appendListener(e);return L(1),function(){L(-1),t()}}};return z}function D(e,t,s){return Math.min(Math.max(e,t),s)}var F=s(504),O=s.n(F);s(86);function R(e,t){if(null==e)return{};var s={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.includes(n))continue;s[n]=e[n]}return s}s(219);var L=1073741823,q="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof s.g?s.g:{};var z=e.createContext||function(t,s){var n,r,o="__create-react-context-"+function(){var e="__global_unique_id__";return q[e]=(q[e]||0)+1}()+"__",l=function(e){function t(){for(var t,s=arguments.length,n=new Array(s),i=0;i<s;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).emitter=function(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(s,n){e=s,t.forEach((function(t){return t(e,n)}))}}}(t.props.value),t}i(t,e);var n=t.prototype;return n.getChildContext=function(){var e;return(e={})[o]=this.emitter,e},n.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var t,n=this.props.value,i=e.value;!function(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}(n,i)?(t="function"===typeof s?s(n,i):L,0!==(t|=0)&&this.emitter.set(e.value,t)):t=0}},n.render=function(){return this.props.children},t}(e.Component);l.childContextTypes=((n={})[o]=a().object.isRequired,n);var c=function(e){function s(){for(var t,s=arguments.length,n=new Array(s),i=0;i<s;i++)n[i]=arguments[i];return(t=e.call.apply(e,[this].concat(n))||this).observedBits=void 0,t.state={value:t.getValue()},t.onUpdate=function(e,s){0!==((0|t.observedBits)&s)&&t.setState({value:t.getValue()})},t}i(s,e);var n=s.prototype;return n.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=void 0===t||null===t?L:t},n.componentDidMount=function(){this.context[o]&&this.context[o].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=void 0===e||null===e?L:e}
2,n.componentWillUnmount=function(){this.context[o]&&this.context[o].off(this.onUpdate)},n.getValue=function(){return this.context[o]?this.context[o].get():t},n.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},s}(e.Component);return c.contextTypes=((r={})[o]=a().object,r),{Provider:l,Consumer:c}},U=function(e){var t=z();return t.displayName=e,t},B=U("Router-History"),W=U("Router"),H=function(t){function s(e){var s;return(s=t.call(this,e)||this).state={location:e.history.location},s._isMounted=!1,s._pendingLocation=null,e.staticContext||(s.unlisten=e.history.listen((function(e){s._pendingLocation=e}))),s}i(s,t),s.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=s.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return e.createElement(W.Provider,{value:{history:this.props.history,location:this.state.location,match:s.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},e.createElement(B.Provider,{children:this.props.children||null,value:this.props.history}))},s}(e.Component);e.Component;var Z=function(e){function t(){return e.apply(this,arguments)||this}i(t,e);var s=t.prototype;return s.componentDidMount=function(){this.props.onMount&&this.props.onMount.call(this,this)},s.componentDidUpdate=function(e){this.props.onUpdate&&this.props.onUpdate.call(this,this,e)},s.componentWillUnmount=function(){this.props.onUnmount&&this.props.onUnmount.call(this,this)},s.render=function(){return null},t}(e.Component);var $={},G=0;function V(e,t){return void 0===e&&(e="/"),void 0===t&&(t={}),"/"===e?e:function(e){if($[e])return $[e];var t=O().compile(e);return G<1e4&&($[e]=t,G++),t}(e)(t,{pretty:!0})}function Y(t){var s=t.computedMatch,n=t.to,i=t.push,r=void 0!==i&&i;return e.createElement(W.Consumer,null,(function(t){t||m(!1);var i=t.history,a=t.staticContext,l=r?i.push:i.replace,c=j(s?"string"===typeof n?V(n,s.params):o({},n,{pathname:V(n.pathname,s.params)}):n);return a?(l(c),null):e.createElement(Z,{onMount:function(){l(c)},onUpdate:function(e,t){var s=j(t.to);(function(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&h(e.state,t.state)})(s,o({},c,{key:s.key}))||l(c)},to:n})}))}var K={},Q=0;function X(e,t){void 0===t&&(t={}),("string"===typeof t||Array.isArray(t))&&(t={path:t});var s=t,n=s.path,i=s.exact,r=void 0!==i&&i,a=s.strict,o=void 0!==a&&a,l=s.sensitive,c=void 0!==l&&l;return[].concat(n).reduce((function(t,s){if(!s&&""!==s)return null;if(t)return t;var n=function(e,t){var s=""+t.end+t.strict+t.sensitive,n=K[s]||(K[s]={});if(n[e])return n[e];var i=[],r={regexp:O()(e,i,t),keys:i};return Q<1e4&&(n[e]=r,Q++),r}(s,{end:r,strict:o,sensitive:c}),i=n.regexp,a=n.keys,l=i.exec(e);if(!l)return null;var d=l[0],u=l.slice(1),h=e===d;return r&&!h?null:{path:s,url:"/"===s&&""===d?"/":d,isExact:h,params:a.reduce((function(e,t,s){return e[t.name]=u[s],e}),{})}}),null)}var J=function(t){function s(){return t.apply(this,arguments)||this}return i(s,t),s.prototype.render=function(){var t=this;return e.createElement(W.Consumer,null,(function(s){s||m(!1);var n=t.props.location||s.location,i=o({},s,{location:n,match:t.props.computedMatch?t.props.computedMatch:t.props.path?X(n.pathname,t.props):s.match}),r=t.props,a=r.children,l=r.component,c=r.render;return Array.isArray(a)&&function(t){return 0===e.Children.count(t)}(a)&&(a=null),e.createElement(W.Provider,{value:i},i.match?a?"function"===typeof a?a(i):a:l?e.createElement(l,i):c?c(i):null:"function"===typeof a?a(i):null)}))},s}(e.Component);function ee(e){return"/"===e.charAt(0)?e:"/"+e}function te(e,t){if(!e)return t;var s=ee(e);return 0!==t.pathname.indexOf(s)?t:o({},t,{pathname:t.pathname.substr(s.length)})}function se(e){return"string"===typeof e?e:v(e)}function ne(e){return function(){m(!1)}}function ie(){}e.Component;var re=function(t){function s(){return t.apply(this,arguments)||this}return i(s,t),s.prototype.render=function(){var t=this;return e.createElement(W.Consumer,null,(function(s){s||m(!1);var n,i,r=t.props.location||s.location;
2return e.Children.forEach(t.props.children,(function(t){if(null==i&&e.isValidElement(t)){n=t;var a=t.props.path||t.props.from;i=a?X(r.pathname,o({},t.props,{path:a})):s.match}})),i?e.cloneElement(n,{location:r,computedMatch:i}):null}))},s}(e.Component);var ae=e.useContext;function oe(){return ae(W).location}function le(){var e=ae(W).match;return e?e.params:{}}var ce=function(t){function s(){for(var e,s=arguments.length,n=new Array(s),i=0;i<s;i++)n[i]=arguments[i];return(e=t.call.apply(t,[this].concat(n))||this).history=_(e.props),e}return i(s,t),s.prototype.render=function(){return e.createElement(H,{history:this.history,children:this.props.children})},s}(e.Component);e.Component;var de=function(e,t){return"function"===typeof e?e(t):e},ue=function(e,t){return"string"===typeof e?j(e,null,null,t):e},he=function(e){return e},pe=e.forwardRef;"undefined"===typeof pe&&(pe=he);var me=pe((function(t,s){var n=t.innerRef,i=t.navigate,r=t.onClick,a=R(t,["innerRef","navigate","onClick"]),l=a.target,c=o({},a,{onClick:function(e){try{r&&r(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||l&&"_self"!==l||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),i())}});return c.ref=he!==pe&&s||n,e.createElement("a",c)}));var fe=pe((function(t,s){var n=t.component,i=void 0===n?me:n,r=t.replace,a=t.to,l=t.innerRef,c=R(t,["component","replace","to","innerRef"]);return e.createElement(W.Consumer,null,(function(t){t||m(!1);var n=t.history,d=ue(de(a,t.location),t.location),u=d?n.createHref(d):"",h=o({},c,{href:u,navigate:function(){var e=de(a,t.location),s=v(t.location)===v(ue(e));(r||s?n.replace:n.push)(e)}});return he!==pe?h.ref=s||l:h.innerRef=l,e.createElement(i,h)}))})),ge=function(e){return e},ye=e.forwardRef;"undefined"===typeof ye&&(ye=ge);ye((function(t,s){var n=t["aria-current"],i=void 0===n?"page":n,r=t.activeClassName,a=void 0===r?"active":r,l=t.activeStyle,c=t.className,d=t.exact,u=t.isActive,h=t.location,p=t.sensitive,f=t.strict,g=t.style,y=t.to,x=t.innerRef,v=R(t,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return e.createElement(W.Consumer,null,(function(t){t||m(!1);var n=h||t.location,r=ue(de(y,n),n),j=r.pathname,w=j&&j.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),b=w?X(n.pathname,{path:w,exact:d,sensitive:p,strict:f}):null,S=!!(u?u(b,n):b),k="function"===typeof c?c(S):c,N="function"===typeof g?g(S):g;S&&(k=function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return t.filter((function(e){return e})).join(" ")}(k,a),N=o({},N,l));var A=o({"aria-current":S&&i||null,className:k,style:N,to:r},v);return ge!==ye?A.ref=s||x:A.innerRef=x,e.createElement(fe,A)}))}));var xe=s(366),ve=s.n(xe),je=s(740),we=s.n(je),be=s(324),Se=s.n(be),ke=(e=>(e.BASE="base",e.BODY="body",e.HEAD="head",e.HTML="html",e.LINK="link",e.META="meta",e.NOSCRIPT="noscript",e.SCRIPT="script",e.STYLE="style",e.TITLE="title",e.FRAGMENT="Symbol(react.fragment)",e))(ke||{}),Ne={rel:["amphtml","canonical","alternate"]},Ae={type:["application/ld+json"]},_e={charset:"",name:["generator","robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},Me=Object.values(ke),Ce={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},Te=Object.entries(Ce).reduce(((e,t)=>{let[s,n]=t;return e[n]=s,e}),{}),Ee="data-rh",Ie="defaultTitle",Pe="defer",De="encodeSpecialCharacters",Fe="onChangeClientState",Oe="titleTemplate",Re="prioritizeSeoTags",Le=(e,t)=>{for(let s=e.length-1;s>=0;s-=1){const n=e[s];if(Object.prototype.hasOwnProperty.call(n,t))return n[t]}return null},qe=e=>{let t=Le(e,"title");const s=Le(e,Oe);if(Array.isArray(t)&&(t=t.join("")),s&&t)return s.replace(/%s/g,(()=>t));const n=Le(e,Ie);return t||n||void 0},ze=e=>Le(e,Fe)||(()=>{}),Ue=(e,t)=>t.filter((t=>"undefined"!==typeof t[e])).map((t=>t[e])).reduce(((e,t)=>({...e,...t})),{}),Be=(e,t)=>t.filter((e=>"undefined"!==typeof e.base)).map((e=>e.base)).reverse().reduce(((t,s)=>{if(!t.length){const n=Object.keys(s);for(let i=0;i<n.length;i+=1){const r=n[i].toLowerCase();if(-1!==e.indexOf(r)&&s[r])return t.concat(s)}}return t}),[]),We=(e,t,s)=>{const n={};return s.filter((t=>{return!!Array.isArray(t[e])||("undefined"!==typeof t[e]&&(s=`Helmet: ${e} should be of type "Array". Instead found type "${typeof t[e]}"`,console&&"function"===typeof console.warn&&console.warn(s)),!1);var s})).map((t=>t[e])).reverse().reduce(((e,s)=>{const i={};s.filter((e=>{let s;const r=Object.keys(e);for(let n=0;n<r.length;n+=1){const i=r[n],a=i.toLowerCase();-1===t.indexOf(a)||"rel"===s&&"canonical"===e[s].toLowerCase()||"rel"===a&&"stylesheet"===e[a].toLowerCase()||(s=a),-1===t.indexOf(i)||"innerHTML"!==i&&"cssText"!==i&&"itemprop"!==i||(s=i)}
2if(!s||!e[s])return!1;const a=e[s].toLowerCase();return n[s]||(n[s]={}),i[s]||(i[s]={}),!n[s][a]&&(i[s][a]=!0,!0)})).reverse().forEach((t=>e.push(t)));const r=Object.keys(i);for(let t=0;t<r.length;t+=1){const e=r[t],s={...n[e],...i[e]};n[e]=s}return e}),[]).reverse()},He=(e,t)=>{if(Array.isArray(e)&&e.length)for(let s=0;s<e.length;s+=1){if(e[s][t])return!0}return!1},Ze=e=>Array.isArray(e)?e.join(""):e,$e=(e,t)=>Array.isArray(e)?e.reduce(((e,s)=>(((e,t)=>{const s=Object.keys(e);for(let n=0;n<s.length;n+=1)if(t[s[n]]&&t[s[n]].includes(e[s[n]]))return!0;return!1})(s,t)?e.priority.push(s):e.default.push(s),e)),{priority:[],default:[]}):{default:e,priority:[]},Ge=(e,t)=>({...e,[t]:void 0}),Ve=["noscript","script","style"],Ye=function(e){return!1===(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")},Ke=e=>Object.keys(e).reduce(((t,s)=>{const n="undefined"!==typeof e[s]?`${s}="${e[s]}"`:`${s}`;return t?`${t} ${n}`:n}),""),Qe=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce(((t,s)=>(t[Ce[s]||s]=e[s],t)),t)},Xe=(t,s)=>s.map(((s,n)=>{const i={key:n,[Ee]:!0};return Object.keys(s).forEach((e=>{const t=Ce[e]||e;if("innerHTML"===t||"cssText"===t){const e=s.innerHTML||s.cssText;i.dangerouslySetInnerHTML={__html:e}}else i[t]=s[e]})),e.createElement(t,i)})),Je=function(t,s){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];switch(t){case"title":return{toComponent:()=>((t,s,n)=>{const i=Qe(n,{key:s,[Ee]:!0});return[e.createElement("title",i,s)]})(0,s.title,s.titleAttributes),toString:()=>((e,t,s,n)=>{const i=Ke(s),r=Ze(t);return i?`<${e} ${Ee}="true" ${i}>${Ye(r,n)}</${e}>`:`<${e} ${Ee}="true">${Ye(r,n)}</${e}>`})(t,s.title,s.titleAttributes,n)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>Qe(s),toString:()=>Ke(s)};default:return{toComponent:()=>Xe(t,s),toString:()=>function(e,t){let s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return t.reduce(((t,n)=>{const i=n,r=Object.keys(i).filter((e=>!("innerHTML"===e||"cssText"===e))).reduce(((e,t)=>{const n="undefined"===typeof i[t]?t:`${t}="${Ye(i[t],s)}"`;return e?`${e} ${n}`:n}),""),a=i.innerHTML||i.cssText||"",o=-1===Ve.indexOf(e);return`${t}<${e} ${Ee}="true" ${r}${o?"/>":`>${a}</${e}>`}`}),"")}(t,s,n)}}},et=e=>{const{baseTag:t,bodyAttributes:s,encode:n=!0,htmlAttributes:i,noscriptTags:r,styleTags:a,title:o="",titleAttributes:l,prioritizeSeoTags:c}=e;let{linkTags:d,metaTags:u,scriptTags:h}=e,p={toComponent:()=>[],toString:()=>""};return c&&({priorityMethods:p,linkTags:d,metaTags:u,scriptTags:h}=(e=>{let{metaTags:t,linkTags:s,scriptTags:n,encode:i}=e;const r=$e(t,_e),a=$e(s,Ne),o=$e(n,Ae);return{priorityMethods:{toComponent:()=>[...Xe("meta",r.priority),...Xe("link",a.priority),...Xe("script",o.priority)],toString:()=>`${Je("meta",r.priority,i)} ${Je("link",a.priority,i)} ${Je("script",o.priority,i)}`},metaTags:r.default,linkTags:a.default,scriptTags:o.default}})(e)),{priority:p,base:Je("base",t,n),bodyAttributes:Je("bodyAttributes",s,n),htmlAttributes:Je("htmlAttributes",i,n),link:Je("link",d,n),meta:Je("meta",u,n),noscript:Je("noscript",r,n),script:Je("script",h,n),style:Je("style",a,n),title:Je("title",{title:o,titleAttributes:l},n)}},tt=[],st=!("undefined"===typeof window||!window.document||!window.document.createElement),nt=class{instances=[];canUseDOM=(()=>st)();context;value={setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?tt:this.instances,add:e=>{(this.canUseDOM?tt:this.instances).push(e)},remove:e=>{const t=(this.canUseDOM?tt:this.instances).indexOf(e);(this.canUseDOM?tt:this.instances).splice(t,1)}}};constructor(e,t){this.context=e,this.canUseDOM=t||!1,t||(e.helmet=et({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},it=parseInt(e.version.split(".")[0],10)>=19,rt=e.createContext({}),at=class t extends e.Component{static canUseDOM=(()=>st)();helmetData;constructor(e){super(e),this.helmetData=it?null:new nt(this.props.context||{},t.canUseDOM)}render(){return it?e.createElement(e.Fragment,null,this.props.children):e.createElement(rt.Provider,{value:this.helmetData.value},this.props.children)}},ot=(e,t)=>
2{const s=document.head||document.querySelector("head"),n=s.querySelectorAll(`${e}[${Ee}]`),i=[].slice.call(n),r=[];let a;return t&&t.length&&t.forEach((t=>{const s=document.createElement(e);for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e))if("innerHTML"===e)s.innerHTML=t.innerHTML;else if("cssText"===e){const e=t.cssText;s.appendChild(document.createTextNode(e))}else{const n=e,i="undefined"===typeof t[n]?"":t[n];s.setAttribute(e,i)}s.setAttribute(Ee,"true"),i.some(((e,t)=>(a=t,s.isEqualNode(e))))?i.splice(a,1):r.push(s)})),i.forEach((e=>e.parentNode?.removeChild(e))),r.forEach((e=>s.appendChild(e))),{oldTags:i,newTags:r}},lt=(e,t)=>{const s=document.getElementsByTagName(e)[0];if(!s)return;const n=s.getAttribute(Ee),i=n?n.split(","):[],r=[...i],a=Object.keys(t);for(const o of a){const e=t[o]||"";s.getAttribute(o)!==e&&s.setAttribute(o,e),-1===i.indexOf(o)&&i.push(o);const n=r.indexOf(o);-1!==n&&r.splice(n,1)}for(let o=r.length-1;o>=0;o-=1)s.removeAttribute(r[o]);i.length===r.length?s.removeAttribute(Ee):s.getAttribute(Ee)!==a.join(",")&&s.setAttribute(Ee,a.join(","))},ct=(e,t)=>{const{baseTag:s,bodyAttributes:n,htmlAttributes:i,linkTags:r,metaTags:a,noscriptTags:o,onChangeClientState:l,scriptTags:c,styleTags:d,title:u,titleAttributes:h}=e;lt("body",n),lt("html",i),((e,t)=>{"undefined"!==typeof e&&document.title!==e&&(document.title=Ze(e)),lt("title",t)})(u,h);const p={baseTag:ot("base",s),linkTags:ot("link",r),metaTags:ot("meta",a),noscriptTags:ot("noscript",o),scriptTags:ot("script",c),styleTags:ot("style",d)},m={},f={};Object.keys(p).forEach((e=>{const{newTags:t,oldTags:s}=p[e];t.length&&(m[e]=t),s.length&&(f[e]=p[e].oldTags)})),t&&t(),l(e,m,f)},dt=null,ut=e=>{dt&&cancelAnimationFrame(dt),e.defer?dt=requestAnimationFrame((()=>{ct(e,(()=>{dt=null}))})):(ct(e),dt=null)},ht=class extends e.Component{rendered=!1;shouldComponentUpdate(e){return!Se()(e,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:e}=this.props.context;e.remove(this),this.emitChange()}emitChange(){const{helmetInstances:e,setHelmet:t}=this.props.context;let s=null;const n=(i=e.get().map((e=>{const{context:t,...s}=e.props;return s})),{baseTag:Be(["href"],i),bodyAttributes:Ue("bodyAttributes",i),defer:Le(i,Pe),encode:Le(i,De),htmlAttributes:Ue("htmlAttributes",i),linkTags:We("link",["rel","href"],i),metaTags:We("meta",["name","charset","http-equiv","property","itemprop"],i),noscriptTags:We("noscript",["innerHTML"],i),onChangeClientState:ze(i),scriptTags:We("script",["src","innerHTML"],i),styleTags:We("style",["cssText"],i),title:qe(i),titleAttributes:Ue("titleAttributes",i),prioritizeSeoTags:He(i,Re)});var i;at.canUseDOM?ut(n):et&&(s=et(n)),t(s)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:e}=this.props.context;e.add(this),this.emitChange()}render(){return this.init(),null}},pt=[],mt=e=>{const t={};for(const s of Object.keys(e))t[Te[s]||s]=e[s];return t},ft=e=>{const t={};for(const s of Object.keys(e)){t[Ce[s]||s]=e[s]}return t},gt=(e,t)=>{if(!st)return;const s=document.getElementsByTagName(e)[0];if(!s)return;const n="data-rh-managed",i=s.getAttribute(n),r=i?i.split(","):[],a=Object.keys(t);for(const o of r)a.includes(o)||s.removeAttribute(o);for(const o of a){const e=t[o];void 0===e||null===e||!1===e?s.removeAttribute(o):!0===e?s.setAttribute(o,""):s.setAttribute(o,String(e))}a.length>0?s.setAttribute(n,a.join(",")):s.removeAttribute(n)},yt=()=>{const e={},t={};for(const s of pt){const{htmlAttributes:n,bodyAttributes:i}=s.props;n&&Object.assign(e,mt(n)),i&&Object.assign(t,mt(i))}gt("html",e),gt("body",t)},xt=class extends e.Component{componentDidMount(){pt.push(this),yt()}componentDidUpdate(){yt()}componentWillUnmount(){const e=pt.indexOf(this);-1!==e&&pt.splice(e,1),yt()}resolveTitle(){const{title:e,titleTemplate:t,defaultTitle:s}=this.props;return e&&t?t.replace(/%s/g,(()=>Array.isArray(e)?e.join(""):e)):e||s||void 0}renderTitle(){const t=this.resolveTitle();if(void 0===t)return null;const s=this.props.titleAttributes||{};return e.createElement("title",ft(s),t)}renderBase(){const{base:t}=this.props;return t?e.createElement("base",ft(t)):null}renderMeta(){const{meta:t}=this.props;return t&&Array.isArray(t)?t.map(((t,s)=>e.createElement("meta",{key:s,...ft(t)}))):null}renderLink(){const{link:t}=this.props;return t&&Array.isArray(t)?t.map(((t,s)=>e.createElement("link",{key:s,...ft(t)}))):null}renderScript(){const{script:t}=this.props;return t&&Array.isArray(t)?t.map(((t,s)=>{const{innerHTML:n,...i}=t,r=ft(i);return n&&(r.dangerouslySetInnerHTML={__html:n}),e.createElement("script",{key:s,...r})})):null}renderStyle(){const{style:t}=this.props;return t&&Array.isArray(t)?t.map(((t,s)=>{const{cssText:n,...i}=t,r=ft(i);return n&&(r.dangerouslySetInnerHTML={__html:n}),e.createElement("style",{key:s,...r})})):null}renderNoscript(){const{noscript:t}=this.props;return t&&Array.isArray(t)?t.map(((t,s)=>{const{innerHTML:n,...i}=t,r=ft(i);return n&&(r.dangerouslySetInnerHTML={__html:n}),e.createElement("noscript",{key:s,...r})})):null}render(){return e.createElement(e.Fragment,null,this.renderTitle(),this.renderBase(),this.renderMeta(),this.renderLink(),this.renderScript(),this.renderStyle(),this.renderNoscript())}},vt=class extends e.Component{static defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1};shouldComponentUpdate(e){return!ve()(Ge(this.props,"helmetData"),Ge(e,"helmetData"))}mapNestedChildrenToProps(e,t){if(!t)return null;switch(e.type){case"script":case"noscript":return{innerHTML:t};case"style":return{cssText:t};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,t,s,n){return{...t,[e.type]:[...t[e.type]||[],{...s,...this.mapNestedChildrenToProps(e,n)}]}}mapObjectTypeChildren(e,t,s,n){switch(e.type){case"title":return{...t,[e.type]:n,titleAttributes:{...s}};case"body":return{...t,bodyAttributes:{...s}};case"html":return{...t,htmlAttributes:{...s}};default:return{...t,[e.type]:{...s}}}}mapArrayTypeChildrenToProps(e,t){let s={...t};return Object.keys(e).forEach((t=>{s={...s,[t]:e[t]}})),s}
2warnOnInvalidChildren(e,t){return we()(Me.some((t=>e.type===t)),"function"===typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":`Only elements types ${Me.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),we()(!t||"string"===typeof t||Array.isArray(t)&&!t.some((e=>"string"!==typeof e)),`Helmet expects a string as a child of <${e.type}>. Did you forget to wrap your children in braces? ( <${e.type}>{\`\`}</${e.type}> ) Refer to our API for more information.`),!0}mapChildrenToProps(t,s){let n={};return e.Children.forEach(t,(e=>{if(!e||!e.props)return;const{children:t,...i}=e.props,r=Object.keys(i).reduce(((e,t)=>(e[Te[t]||t]=i[t],e)),{});let{type:a}=e;switch("symbol"===typeof a?a=a.toString():this.warnOnInvalidChildren(e,t),a){case"Symbol(react.fragment)":s=this.mapChildrenToProps(t,s);break;case"link":case"meta":case"noscript":case"script":case"style":n=this.flattenArrayTypeChildren(e,n,r,t);break;default:s=this.mapObjectTypeChildren(e,s,r,t)}})),this.mapArrayTypeChildrenToProps(n,s)}render(){const{children:t,...s}=this.props;let n={...s},{helmetData:i}=s;if(t&&(n=this.mapChildrenToProps(t,n)),i&&!(i instanceof nt)){i=new nt(i.context,!0),delete n.helmetData}return it?e.createElement(xt,{...n}):i?e.createElement(ht,{...n,context:i.value}):e.createElement(rt.Consumer,null,(t=>e.createElement(ht,{...n,context:t})))}},jt=s(579);const wt=e=>{let{items:t,className:s=""}=e;return t&&0!==t.length?(0,jt.jsx)("nav",{className:`breadcrumbs ${s}`,"aria-label":"Breadcrumb navigation",children:(0,jt.jsx)("ol",{className:"breadcrumbs-list",children:t.map(((e,s)=>{const n=s===t.length-1;return(0,jt.jsxs)("li",{className:"breadcrumb-item",children:[!n&&e.path?(0,jt.jsx)(fe,{to:e.path,className:"breadcrumb-link","aria-label":`Go to ${e.label}`,children:e.label}):(0,jt.jsx)("span",{className:"breadcrumb-current","aria-current":n?"page":void 0,children:e.label}),!n&&(0,jt.jsx)("svg",{className:"breadcrumb-separator",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,jt.jsx)("path",{d:"M6 4L10 8L6 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})]},e.path||s)}))})}):null},bt=()=>{const[t,s]=(0,e.useState)(""),[n,i]=(0,e.useState)(null);return(0,jt.jsxs)("footer",{className:"footer-container",children:[(0,jt.jsxs)("div",{className:"footer-content",children:[(0,jt.jsxs)("div",{className:"footer-section footer-section-large",children:[(0,jt.jsx)("h3",{className:"footer-heading",children:"Subscribe to our newsletter"}),(0,jt.jsxs)("form",{className:"footer-subscription-form",onSubmit:async e=>{if(e.preventDefault(),t){i("loading");try{(await fetch("https://formsubmit.co/ajax/[email protected]",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({_subject:"New Newsletter Subscriber",email:t,_template:"box"})})).ok?(i("success"),s("")):i("error")}catch{i("error")}}},children:[(0,jt.jsx)("input",{type:"email",placeholder:"Enter your email",className:"footer-email-input",value:t,onChange:e=>s(e.target.value),required:!0}),(0,jt.jsx)("button",{className:"footer-subscribe-button",type:"submit",disabled:"loading"===n,children:"loading"===n?"Sending\u2026":"Subscribe"})]}),"success"===n&&(0,jt.jsx)("p",{className:"footer-subscribe-msg footer-subscribe-success",children:"Thanks for subscribing!"}),"error"===n&&(0,jt.jsx)("p",{className:"footer-subscribe-msg footer-subscribe-error",children:"Something went wrong. Please try again."}),(0,jt.jsxs)("div",{className:"footer-contact-info",children:[(0,jt.jsx)("h3",{className:"footer-heading",children:"Contact"}),(0,jt.jsx)("a",{href:"mailto:[email protected]",className:"footer-link",children:"[email protected]"})]})]}),(0,jt.jsxs)("div",{className:"footer-section",children:[(0,jt.jsx)("h4",{className:"footer-heading",children:"Solutions"}),(0,jt.jsx)("a",{href:"/#features",className:"footer-link",children:"Bulk SMS"}),(0,jt.jsx)("a",{href:"/#features",className:"footer-link",children:"SMS API"}),(0,jt.jsx)("a",{href:"/#features",className:"footer-link",children:"Two-Factor Authentication"}),(0,jt.jsx)("a",{href:"/#features",className:"footer-link",children:"SMS Reminders"}),(0,jt.jsx)("a",{href:"/#features",className:"footer-link",children:"Branded SMS"})]}),(0,jt.jsxs)("div",{className:"footer-section",children:[(0,jt.jsx)("h4",{className:"footer-heading",children:"Company"}),(0,jt.jsx)(fe,{to:"/about",className:"footer-link",children:"About"}),(0,jt.jsx)(fe,{to:"/blog",className:"footer-link",children:"Blog"})]}),(0,jt.jsxs)("div",{className:"footer-section",children:[(0,jt.jsx)("h4",{className:"footer-heading",children:"Legal"}),(0,jt.jsx)(fe,{to:"/terms-of-use",className:"footer-link",children:"Terms of Use"}),(0,jt.jsx)(fe,{to:"/privacy-policy",className:"footer-link",children:"Privacy Policy"}),(0,jt.jsx)(fe,{to:"/sms-compliance",className:"footer-link",children:"SMS Compliance"}),(0,jt.jsx)(fe,{to:"/sender-id-registration",className:"footer-link",children:"Sender ID Registration"}),(0,jt.jsx)(fe,{to:"/contact-us",className:"footer-link",children:"Contact Us"})]})]}),(0,jt.jsx)("div",{className:"footer-bottom",children:(0,jt.jsxs)("div",{className:"footer-branding",children:[(0,jt.jsx)("img",{alt:"DataFlows Logo",src:"/dataflows-high-resolution-logo-200h.png",className:"footer-logo"}),(0,jt.jsxs)("p",{className:"footer-copyright",children:["Copyright \xa9 DataFlows, ",(new Date).getFullYear()]})]})})]})},St=e=>{let{className:t=""}=e;return(0,jt.jsx)(fe,{to:"/integrations",className:`integrations-trigger ${t}`,children:"Integrations"})},kt=()=>{if("undefined"!==typeof window&&window.gtag)try{window.gtag("event","conversion",{send_to:"AW-946941823/gQhtCJO_rpYbEP_exMMD"}),console.log("Google Ads sign-up conversion tracked successfully")}catch(e){console.error("Error tracking Google Ads conversion:",e)}else console.warn("Google Tag Manager not available for conversion tracking")},Nt=()=>{if("undefined"!==typeof window&&window.gtag)try{window.gtag("event","click",{event_category:"engagement",event_label:"get_started_button"}),console.log("Get Started button click tracked")}catch(e){console.error("Error tracking Get Started click:",e)}},At=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"contact";if("undefined"!==typeof window&&window.gtag)try{window.gtag("event","form_submit",{event_category:"engagement",event_label:e}),console.log(`Form submission tracked: ${e}`)}catch(t){console.error("Error tracking form submission:",t)}},_t=()=>{const[t,s]=(0,e.useState)(!1),[n,i]=(0,e.useState)(!1);(0,e.useEffect)((()=>{const e=()=>s(window.scrollY>20);return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const r=()=>{Nt(),kt()};return(0,jt.jsxs)("nav",{className:`dark-nav${t?" dark-nav--scrolled":""}${n?" dark-nav--open":""}`,children:[(0,jt.jsxs)("div",{className:"dark-nav-inner",children:[(0,jt.jsx)(fe,{to:"/",className:"dark-nav-logo",children:(0,jt.jsx)("img",{src:"/dataflows-high-resolution-logo-200h.png",alt:"DataFlows",height:"34"})}),(0,jt.jsxs)("div",{className:"dark-nav-links",children:[(0,jt.jsx)(fe,{to:"/#features",children:"Features"}),(0,jt.jsx)(fe,{to:"/#pricing",children:"Pricing"}),(0,jt.jsx)(fe,{to:"/blog",children:"Blog"}),(0,jt.jsx)(St,{}),(0,jt.jsx)(fe,{to:"/contact-us",children:"Contact Us"})]}),(0,jt.jsxs)("div",{className:"dark-nav-actions",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noreferrer noopener",className:"dark-nav-signin",children:"Sign in"}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"dark-nav-cta",onClick:r,children:"Get started"})]}),(0,jt.jsx)("button",{className:"dark-nav-hamburger",onClick:()=>i(!n),"aria-label":"Toggle menu",children:n?(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})}):(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M3 12h18M3 6h18M3 18h18"})})})]}),n&&(0,jt.jsxs)("div",{className:"dark-nav-mobile",children:[(0,jt.jsx)(fe,{to:"/#features",onClick:()=>i(!1),children:"Features"}),(0,jt.jsx)(fe,{to:"/#pricing",onClick:()=>i(!1),children:"Pricing"}),(0,jt.jsx)(fe,{to:"/blog",onClick:()=>i(!1),children:"Blog"}),(0,jt.jsx)(fe,{to:"/integrations",onClick:()=>i(!1),children:"Integrations"}),(0,jt.jsx)(fe,{to:"/contact-us",onClick:()=>i(!1),children:"Contact Us"}),(0,jt.jsxs)("div",{className:"dark-nav-mobile-actions",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noreferrer noopener",className:"dark-nav-signin",children:"Sign in"}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"dark-nav-cta",onClick:r,children:"Get started"})]})]})]})},Mt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";return`${arguments.length>1&&void 0!==arguments[1]?arguments[1]:"https://dataflows.com.au"}${"/"===e?"/":e.replace(/\/$/,"")}`},Ct=()=>{(0,e.useEffect)((()=>{window.scrollTo(0,0),"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0})}),[]);
2return(0,jt.jsxs)("div",{className:"terms-of-use-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Terms of Use | DataFlows Australia"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/terms-of-use")}),(0,jt.jsx)("meta",{name:"description",content:"Terms of Use for DataFlows Australia SMS services. Read our terms and conditions for using our business SMS platform and services."}),(0,jt.jsx)("meta",{property:"og:title",content:"Terms of Use | DataFlows Australia"}),(0,jt.jsx)("meta",{property:"og:description",content:"Terms of Use for DataFlows Australia SMS services and platform."})]}),(0,jt.jsx)(_t,{}),(0,jt.jsx)("div",{className:"terms-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Terms of Use"}]})})}),(0,jt.jsx)("section",{className:"terms-hero",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"hero-content","data-aos":"fade-up",children:[(0,jt.jsx)("h1",{children:"Terms of Use"}),(0,jt.jsx)("p",{className:"hero-subtitle",children:"Please read these terms and conditions carefully before using DataFlows Australia services."}),(0,jt.jsx)("div",{className:"last-updated",children:(0,jt.jsx)("span",{children:"Last updated: January 2025"})})]})})}),(0,jt.jsx)("section",{className:"terms-content",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"content-wrapper",children:[(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"1. Acceptance of Terms"}),(0,jt.jsx)("p",{children:'By accessing and using DataFlows Australia\'s SMS services ("Service"), you accept and agree to be bound by the terms and provision of this agreement. If you do not agree to abide by the above, please do not use this service.'})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"2. Service Description"}),(0,jt.jsx)("p",{children:"DataFlows Australia provides business SMS messaging services, including but not limited to:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Bulk SMS messaging capabilities"}),(0,jt.jsx)("li",{children:"Two-way SMS communication"}),(0,jt.jsx)("li",{children:"API access for SMS automation"}),(0,jt.jsx)("li",{children:"Virtual phone number services"}),(0,jt.jsx)("li",{children:"Integration tools and connectors"})]})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"3. User Responsibilities"}),(0,jt.jsx)("p",{children:"When using our services, you agree to:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Comply with all applicable Australian laws and regulations"}),(0,jt.jsx)("li",{children:"Obtain proper consent before sending SMS messages to recipients"}),(0,jt.jsx)("li",{children:"Not use the service for spam, harassment, or illegal activities"}),(0,jt.jsx)("li",{children:"Maintain the security of your account credentials"}),(0,jt.jsx)("li",{children:"Provide accurate and up-to-date account information"})]})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"4. Prohibited Uses"}),(0,jt.jsx)("p",{children:"You may not use our service for:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Sending unsolicited commercial messages (spam)"}),(0,jt.jsx)("li",{children:"Transmitting harmful, threatening, or inappropriate content"}),(0,jt.jsx)("li",{children:"Violating any laws or regulations"}),(0,jt.jsx)("li",{children:"Infringing on intellectual property rights"}),(0,jt.jsx)("li",{children:"Attempting to gain unauthorized access to our systems"})]})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"5. Privacy and Data Protection"}),(0,jt.jsx)("p",{children:"We are committed to protecting your privacy and personal information. Our collection, use, and disclosure of personal information is governed by our Privacy Policy, which forms part of these Terms of Use."}),(0,jt.jsx)("p",{children:(0,jt.jsx)(fe,{to:"/privacy-policy",className:"privacy-link",children:"Read our Privacy Policy \u2192"})})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"6. Payment and Billing"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"All charges are in Australian Dollars (AUD) unless otherwise specified"}),(0,jt.jsx)("li",{children:"Payment is required in advance for SMS credits"}),(0,jt.jsx)("li",{children:"Refunds may be provided at our discretion in accordance with our refund policy"}),(0,jt.jsx)("li",{children:"You are responsible for all charges incurred under your account"})]})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"7. Service Availability"}),(0,jt.jsx)("p",{children:"While we strive to provide reliable service, we do not guarantee:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"100% uptime or availability"}),(0,jt.jsx)("li",{children:"Delivery of all messages"}),(0,jt.jsx)("li",{children:"Specific delivery timeframes"}),(0,jt.jsx)("li",{children:"Compatibility with all carriers or networks"})]})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"8. Limitation of Liability"}),(0,jt.jsx)("p",{children:"DataFlows Australia shall not be liable for any indirect, incidental, special, consequential, or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from your use of the service."})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"9. Termination"}),(0,jt.jsx)("p",{children:"We may terminate or suspend your account and access to the service immediately, without prior notice or liability, for any reason whatsoever, including without limitation if you breach the Terms."})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"10. Changes to Terms"}),(0,jt.jsx)("p",{children:"We reserve the right to modify or replace these Terms at any time. If a revision is material, we will try to provide at least 30 days notice prior to any new terms taking effect."})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"11. Governing Law"}),(0,jt.jsx)("p",{children:"These Terms shall be interpreted and governed by the laws of Australia. Any disputes relating to these terms and conditions will be subject to the jurisdiction of the Australian courts."})]}),(0,jt.jsxs)("div",{className:"terms-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"12. Contact Information"}),(0,jt.jsx)("p",{children:"If you have any questions about these Terms of Use, please contact us:"}),(0,jt.jsxs)("div",{className:"contact-info",children:[(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"DataFlows Australia"})}),(0,jt.jsxs)("p",{children:["Email: ",(0,jt.jsx)("a",{href:"mailto:[email protected]",children:"[email protected]"})]}),(0,jt.jsxs)("p",{children:["Website: ",(0,jt.jsx)("a",{href:"https://dataflows.com.au",children:"https://dataflows.com.au"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)(fe,{to:"/contact-us",children:"Contact Us Form \u2192"})})]})]})]})})}),(0,jt.jsx)(bt,{})]})},Tt=t=>{const[s,n]=(0,e.useState)({name:"",email:"",message:""}),[i,r]=(0,e.useState)(""),[a,o]=(0,e.useState)(!1),[l,c]=(0,e.useState)(!1),d=e=>{const{name:t,value:i}=e.target;n({...s,[t]:i})};return(0,jt.jsxs)("div",{className:"contact-form-container",id:t.contactForm41Id,children:[(0,jt.jsxs)("div",{className:"contact-form-card",children:[(0,jt.jsxs)("div",{className:"contact-form-header",children:[(0,jt.jsx)("h2",{className:"contact-form-title",children:"Contact Us"}),(0,jt.jsx)("p",{className:"contact-form-description",children:"We'd love to hear from you! Fill out the form below and we'll get back to you as soon as possible."})]}),(0,jt.jsxs)("form",{className:"contact-form",onSubmit:e=>
2{e.preventDefault(),c(!0),At("contact"),o(!0),r("Thank you for contacting us! We will get back to you soon."),fetch("https://formsubmit.co/ajax/[email protected]",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(s)}).then((e=>e.json())).then((e=>{console.log(e)})).catch((e=>{console.log(e)}))},children:[(0,jt.jsxs)("div",{className:"form-group",children:[(0,jt.jsx)("label",{className:"form-label",htmlFor:"name",children:"Full Name"}),(0,jt.jsxs)("div",{className:"input-container",children:[(0,jt.jsx)("input",{type:"text",id:"name",name:"name",className:"form-input",placeholder:"John Doe",value:s.name,onChange:d,required:!0}),(0,jt.jsx)("div",{className:"input-focus-effect"})]})]}),(0,jt.jsxs)("div",{className:"form-group",children:[(0,jt.jsx)("label",{className:"form-label",htmlFor:"email",children:"Email Address"}),(0,jt.jsxs)("div",{className:"input-container",children:[(0,jt.jsx)("input",{type:"email",id:"email",name:"email",className:"form-input",placeholder:"[email protected]",value:s.email,onChange:d,required:!0}),(0,jt.jsx)("div",{className:"input-focus-effect"})]})]}),(0,jt.jsxs)("div",{className:"form-group",children:[(0,jt.jsx)("label",{className:"form-label",htmlFor:"message",children:"Your Message"}),(0,jt.jsxs)("div",{className:"textarea-container",children:[(0,jt.jsx)("textarea",{id:"message",name:"message",className:"form-textarea",placeholder:"How can we help you?",rows:"5",value:s.message,onChange:d,required:!0}),(0,jt.jsx)("div",{className:"input-focus-effect"})]})]}),(0,jt.jsxs)("button",{type:"submit",className:"submit-button",children:[(0,jt.jsx)("span",{className:"button-text",children:"Send Message"}),(0,jt.jsx)("span",{className:"button-icon",children:(0,jt.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",width:"18",height:"18",children:(0,jt.jsx)("path",{d:"M3.478 2.404a.75.75 0 0 0-.926.941l2.432 7.905H13.5a.75.75 0 0 1 0 1.5H4.984l-2.432 7.905a.75.75 0 0 0 .926.94 60.519 60.519 0 0 0 18.445-8.986.75.75 0 0 0 0-1.218A60.517 60.517 0 0 0 3.478 2.404Z"})})})]})]})]}),a&&(0,jt.jsx)("div",{className:"modal-overlay",children:(0,jt.jsxs)("div",{className:"modal-content",children:[(0,jt.jsx)("div",{className:"modal-icon",children:(0,jt.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",width:"48",height:"48",children:(0,jt.jsx)("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z","clip-rule":"evenodd"})})}),(0,jt.jsx)("h2",{className:"modal-title",children:"Thank You!"}),(0,jt.jsx)("p",{className:"modal-message",children:i}),(0,jt.jsx)("button",{onClick:()=>{o(!1),window.scrollTo(0,0),setTimeout((()=>{window.location.reload()}),500)},className:"modal-button",children:"Close"})]})})]})},Et=t=>(e.useEffect((()=>{window.scrollTo(0,0)}),[]),(0,jt.jsxs)("div",{className:"privacy-policy-container1",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Privacy Policy | DataFlows Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Read DataFlows' Privacy Policy to understand how we collect, use, and protect your personal information when using our SMS platform."}),(0,jt.jsx)("link",{rel:"canonical",href:"https://dataflows.com.au/privacy-policy"}),(0,jt.jsx)("meta",{property:"og:title",content:"Privacy Policy | DataFlows Australia"}),(0,jt.jsx)("meta",{property:"og:description",content:"How DataFlows collects, uses, and protects your personal information."})]}),(0,jt.jsx)(_t,{}),(0,jt.jsx)("section",{className:"privacy-policy-hero",children:(0,jt.jsx)("div",{className:"privacy-policy-hero-content",children:(0,jt.jsx)("div",{className:"privacy-policy-content-container",children:(0,jt.jsxs)("div",{className:"privacy-policy-text-container1",children:[(0,jt.jsx)("h1",{className:"privacy-policy-text05",children:"Privacy Policy"}),(0,jt.jsx)("span",{className:"privacy-policy-text06",children:"Last Updated: July 12, 2025"}),(0,jt.jsx)("h2",{className:"privacy-policy-text07",children:"1. Introduction"}),(0,jt.jsx)("span",{className:"privacy-policy-text08",children:"Welcome to DataFlows. We respect your privacy and are committed to protecting your personal data. This privacy policy will inform you about how we look after your personal data when you visit our website and tell you about your privacy rights and how the law protects you."}),(0,jt.jsx)("h2",{className:"privacy-policy-text09",children:"2. Data We Collect"}),(0,jt.jsxs)("span",{className:"privacy-policy-text10",children:["We may collect, use, store and transfer different kinds of personal data about you including:",(0,jt.jsx)("br",{}),(0,jt.jsx)("br",{}),"\u2022 Identity Data: includes first name, last name, username or similar identifier.",(0,jt.jsx)("br",{}),"\u2022 Contact Data: includes email address and telephone numbers.",(0,jt.jsx)("br",{}),"\u2022 Technical Data: includes internet protocol (IP) address, browser type and version, time zone setting and location, browser plug-in types and versions, operating system and platform, and other technology on the devices you use to access this website.",(0,jt.jsx)("br",{}),"\u2022 Usage Data: includes information about how you use our website and services."]}),(0,jt.jsx)("h2",{className:"privacy-policy-text11",children:"3. How We Use Your Data"}),(0,jt.jsxs)("span",{className:"privacy-policy-text12",children:["We will only use your personal data when the law allows us to. Most commonly, we will use your personal data in the following circumstances:",(0,jt.jsx)("br",{}),(0,jt.jsx)("br",{}),"\u2022 To process and deliver the services you have requested.",(0,jt.jsx)("br",{}),"\u2022 To manage our relationship with you.",(0,jt.jsx)("br",{}),"\u2022 To improve our website, products/services, marketing, and customer relationships.",(0,jt.jsx)("br",{}),"\u2022 To recommend products or services that may be of interest to you."]}),(0,jt.jsx)("span",{className:"privacy-policy-text12",children:"We do not sell or share your personal data, including your mobile phone number, with third parties for their own marketing purposes."}),(0,jt.jsx)("h2",{className:"privacy-policy-text21",children:"SMS / Text Messaging"}),(0,jt.jsxs)("span",{className:"privacy-policy-text22",children:["If you or a DataFlows customer's recipient opts in to receive SMS text messages through the DataFlows platform, we collect and use your mobile phone number solely to send the messages you have consented to receive (such as appointment reminders, account notifications, verification codes, or other messages from the business you are interacting with).",(0,jt.jsx)("br",{}),(0,jt.jsx)("br",{}),"Text messaging originator opt-in data and consent will not be shared with any third party for marketing or promotional purposes, under any circumstance.",(0,jt.jsx)("br",{}),(0,jt.jsx)("br",{}),"Message frequency will vary depending on the sender and the type of messages you have opted in to receive. Message and data rates may apply. You may opt out of receiving SMS messages at any time by replying STOP to any message you receive, or by contacting us using the details in Section 7 of this policy."]}),(0,jt.jsx)("h2",{className:"privacy-policy-text13",children:"4. Data Security"}),(0,jt.jsx)("span",{className:"privacy-policy-text14",children:"We have put in place appropriate security measures to prevent your personal data from being accidentally lost, used, or accessed in an unauthorized way, altered, or disclosed. We also limit access to your personal data to those employees, agents, contractors, and other third parties who have a business need to know."}),(0,jt.jsx)("h2",{className:"privacy-policy-text15",children:"5. Data Retention"}),(0,jt.jsx)("span",{className:"privacy-policy-text16",children:"We will only retain your personal data for as long as necessary to fulfill the purposes we collected it for, including for the purposes of satisfying any legal, accounting, or reporting requirements."}),(0,jt.jsx)("h2",{className:"privacy-policy-text17",children:"6. Your Legal Rights"}),(0,jt.jsxs)("span",{className:"privacy-policy-text18",children:["Under certain circumstances, you have rights under data protection laws in relation to your personal data, including the right to:",(0,jt.jsx)("br",{}),(0,jt.jsx)("br",{}),"\u2022 Request access to your personal data.",(0,jt.jsx)("br",{}),"\u2022 Request correction of your personal data.",(0,jt.jsx)("br",{}),"\u2022 Request erasure of your personal data.",(0,jt.jsx)("br",{}),"\u2022 Object to processing of your personal data.",(0,jt.jsx)("br",{}),"\u2022 Request restriction of processing your personal data.",(0,jt.jsx)("br",{}),"\u2022 Request transfer of your personal data.",(0,jt.jsx)("br",{}),"\u2022 Right to withdraw consent."]}),(0,jt.jsx)("h2",{className:"privacy-policy-text19",children:"7. 
2Contact Us"}),(0,jt.jsx)("span",{className:"privacy-policy-text20",children:"If you have any questions about this privacy policy or our privacy practices, please contact us using the form below."})]})})})}),(0,jt.jsx)(Tt,{action:(0,jt.jsx)(e.Fragment,{children:(0,jt.jsx)("span",{className:"privacy-policy-form-button",children:"Submit"})}),content1:(0,jt.jsx)(e.Fragment,{children:(0,jt.jsx)("span",{className:"privacy-policy-form-text",children:(0,jt.jsx)("span",{children:"Have a question about our privacy policy? Fill out the form below, and we will get back to you as soon as possible."})})}),content2:(0,jt.jsx)(e.Fragment,{children:(0,jt.jsx)("span",{className:"privacy-policy-form-heading",children:"Get in touch with us"})}),heading1:(0,jt.jsx)(e.Fragment,{children:(0,jt.jsx)("span",{className:"privacy-policy-form-title",children:"Contact us"})}),rootClassName:"contact-form41-root-class-name",contactForm41Id:"PrivacyPolicyContactForm"}),(0,jt.jsx)(bt,{})]})),It=!(typeof navigator>"u")&&"ReactNative"===navigator.product,Pt={timeout:It?6e4:12e4},Dt=function(e){const t={...Pt,..."string"==typeof e?{url:e}:e};if(t.timeout=Ot(t.timeout),t.query){const{url:e,searchParams:s}=function(e){const t=e.indexOf("?");if(-1===t)return{url:e,searchParams:new URLSearchParams};const s=e.slice(0,t),n=e.slice(t+1);if(!It)return{url:s,searchParams:new URLSearchParams(n)};if("function"!=typeof decodeURIComponent)throw new Error("Broken `URLSearchParams` implementation, and `decodeURIComponent` is not defined");const i=new URLSearchParams;for(const r of n.split("&")){const[e,t]=r.split("=");e&&i.append(Ft(e),Ft(t||""))}return{url:s,searchParams:i}}(t.url);for(const[n,i]of Object.entries(t.query)){if(void 0!==i)if(Array.isArray(i))for(const e of i)s.append(n,e);else s.append(n,i);const r=s.toString();r&&(t.url=`${e}?${r}`)}}return t.method=t.body&&!t.method?"POST":(t.method||"GET").toUpperCase(),t};function Ft(e){return decodeURIComponent(e.replace(/\+/g," "))}function Ot(e){if(!1===e||0===e)return!1;if(e.connect||e.socket)return e;const t=Number(e);return isNaN(t)?Ot(Pt.timeout):{connect:t,socket:t}}const Rt=/^https?:\/\//i,Lt=function(e){if(!Rt.test(e.url))throw new Error(`"${e.url}" is not a valid URL`)};function qt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}const zt=["request","response","progress","error","abort"],Ut=["processOptions","validateOptions","interceptRequest","finalizeOptions","onRequest","onResponse","onError","onReturn","onHeaders"];function Bt(e,t){const s=[],n=Ut.reduce(((e,t)=>(e[t]=e[t]||[],e)),{processOptions:[Dt],validateOptions:[Lt]});function i(e){const s=zt.reduce(((e,t)=>(e[t]=function(){const e=Object.create(null);let t=0;return{publish:function(t){for(const s in e)e[s](t)},subscribe:function(s){const n=t++;return e[n]=s,function(){delete e[n]}}}}(),e)),{}),i=(e=>function(t,s){const n="onError"===t;let i=s;for(var r=arguments.length,a=new Array(r>2?r-2:0),o=2;o<r;o++)a[o-2]=arguments[o];for(let l=0;l<e[t].length&&(i=(0,e[t][l])(i,...a),!n||i);l++);return i})(n),r=i("processOptions",e);i("validateOptions",r);const a={options:r,channels:s,applyMiddleware:i};let o;const l=s.request.subscribe((e=>{o=t(e,((t,n)=>((e,t,n)=>{let r=e,a=t;if(!r)try{a=i("onResponse",t,n)}catch(e){a=null,r=e}r=r&&i("onError",r,n),r?s.error.publish(r):a&&s.response.publish(a)})(t,n,e)))}));s.abort.subscribe((()=>{l(),o&&o.abort()}));const c=i("onReturn",s,a);return c===s&&s.request.publish(a),c}return i.use=function(e){if(!e)throw new Error("Tried to add middleware that resolved to falsey value");if("function"==typeof e)throw new Error("Tried to add middleware that was a function. It probably expects you to pass options to it.");if(e.onReturn&&n.onReturn.length>0)throw new Error("Tried to add new middleware with `onReturn` handler, but another handler has already been registered for this event");return Ut.forEach((t=>{e[t]&&n[t].push(e[t])})),s.push(e),i},i.clone=()=>Bt(s,t),e.forEach(i.use),i}var Wt,Ht,Zt=qt(function(){if(Ht)return Wt;Ht=1;var e=function(e){return e.replace(/^\s+|\s+$/g,"")};return Wt=function(t){if(!t)return{};for(var s={},n=e(t).split("\n"),i=0;i<n.length;i++){var r=n[i],a=r.indexOf(":"),o=e(r.slice(0,a)).toLowerCase(),l=e(r.slice(a+1));typeof s[o]>"u"?s[o]=l:(c=s[o],"[object Array]"===Object.prototype.toString.call(c)?s[o].push(l):s[o]=[s[o],l])}var c;return s}}());class $t{onabort;onerror;onreadystatechange;ontimeout;readyState=0;response;responseText="";responseType="";status;statusText;withCredentials;#e;#t;#s;#n={};#i;#r={};#a;open(e,t,s){this.#e=e,this.#t=t,this.#s="",this.readyState=1,this.onreadystatechange?.(),this.#i=void 0}abort(){this.#i&&this.#i.abort()}getAllResponseHeaders(){return this.#s}setRequestHeader(e,t){this.#n[e]=t}setInit(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.#r=e,this.#a=t}send(e){const t="arraybuffer"!==this.responseType,s={...this.#r,method:this.#e,headers:this.#n,body:e};"function"==typeof AbortController&&this.#a&&(this.#i=new AbortController,typeof EventTarget<"u"&&this.#i.signal instanceof EventTarget&&(s.signal=this.#i.signal)),typeof document<"u"&&(s.credentials=this.withCredentials?"include":"omit"),fetch(this.#t,s).then((e=>
2(e.headers.forEach(((e,t)=>{this.#s+=`${t}: ${e}\r\n`})),this.status=e.status,this.statusText=e.statusText,this.readyState=3,this.onreadystatechange?.(),t?e.text():e.arrayBuffer()))).then((e=>{"string"==typeof e?this.responseText=e:this.response=e,this.readyState=4,this.onreadystatechange?.()})).catch((e=>{"AbortError"!==e.name?this.onerror?.(e):this.onabort?.()}))}}const Gt="function"==typeof XMLHttpRequest?"xhr":"fetch",Vt="xhr"===Gt?XMLHttpRequest:$t,Yt=(e,t)=>{const s=e.options,n=e.applyMiddleware("finalizeOptions",s),i={},r=e.applyMiddleware("interceptRequest",void 0,{adapter:Gt,context:e});if(r){const e=setTimeout(t,0,null,r);return{abort:()=>clearTimeout(e)}}let a=new Vt;a instanceof $t&&"object"==typeof n.fetch&&a.setInit(n.fetch,n.useAbortSignal??!0);const o=n.headers,l=n.timeout;let c=!1,d=!1,u=!1;if(a.onerror=e=>{m(a instanceof $t?e instanceof Error?e:new Error(`Request error while attempting to reach is ${n.url}`,{cause:e}):new Error(`Request error while attempting to reach is ${n.url}${e.lengthComputable?`(${e.loaded} of ${e.total} bytes transferred)`:""}`))},a.ontimeout=e=>{m(new Error(`Request timeout while attempting to reach ${n.url}${e.lengthComputable?`(${e.loaded} of ${e.total} bytes transferred)`:""}`))},a.onabort=()=>{p(!0),c=!0},a.onreadystatechange=function(){l&&(p(),i.socket=setTimeout((()=>h("ESOCKETTIMEDOUT")),l.socket)),!c&&a&&4===a.readyState&&0!==a.status&&function(){if(!(c||d||u)){if(0===a.status)return void m(new Error("Unknown XHR error"));p(),d=!0,t(null,{body:a.response||(""===a.responseType||"text"===a.responseType?a.responseText:""),url:n.url,method:n.method,headers:Zt(a.getAllResponseHeaders()),statusCode:a.status,statusMessage:a.statusText})}}()},a.open(n.method,n.url,!0),a.withCredentials=!!n.withCredentials,o&&a.setRequestHeader)for(const f in o)o.hasOwnProperty(f)&&a.setRequestHeader(f,o[f]);return n.rawBody&&(a.responseType="arraybuffer"),e.applyMiddleware("onRequest",{options:n,adapter:Gt,request:a,context:e}),a.send(n.body||null),l&&(i.connect=setTimeout((()=>h("ETIMEDOUT")),l.connect)),{abort:function(){c=!0,a&&a.abort()}};function h(t){u=!0,a.abort();const s=new Error("ESOCKETTIMEDOUT"===t?`Socket timed out on request to ${n.url}`:`Connection timed out on request to ${n.url}`);s.code=t,e.channels.error.publish(s)}function p(e){(e||c||a&&a.readyState>=2&&i.connect)&&clearTimeout(i.connect),i.socket&&clearTimeout(i.socket)}function m(e){if(d)return;p(!0),d=!0,a=null;const s=e||new Error(`Network error while attempting to reach ${n.url}`);s.isNetworkError=!0,s.request=n,t(s)}},Kt=function(){return Bt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],arguments.length>1&&void 0!==arguments[1]?arguments[1]:Yt)};var Qt,Xt,Jt,es,ts,ss={exports:{}};ts||(ts=1,function(e,t){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const s="color: "+this.color;t.splice(1,0,s,"color: inherit");let n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(i=n))})),t.splice(i,0,s)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch{}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e={NODE_ENV:"production",PUBLIC_URL:"",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.DEBUG),e},t.useColors=function(){if(typeof window<"u"&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch{}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33
2CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=(es?Jt:(es=1,Jt=function(e){function t(e){let n,i,r,a=null;function o(){for(var e=arguments.length,s=new Array(e),i=0;i<e;i++)s[i]=arguments[i];if(!o.enabled)return;const r=o,a=Number(new Date),l=a-(n||a);r.diff=l,r.prev=n,r.curr=a,n=a,s[0]=t.coerce(s[0]),"string"!=typeof s[0]&&s.unshift("%O");let c=0;s[0]=s[0].replace(/%([a-zA-Z%])/g,((e,n)=>{if("%%"===e)return"%";c++;const i=t.formatters[n];if("function"==typeof i){const t=s[c];e=i.call(r,t),s.splice(c,1),c--}return e})),t.formatArgs.call(r,s),(r.log||t.log).apply(r,s)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=s,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(i!==t.namespaces&&(i=t.namespaces,r=t.enabled(e)),r),set:e=>{a=e}}),"function"==typeof t.init&&t.init(o),o}function s(e,s){const n=t(this.namespace+(typeof s>"u"?":":s)+e);return n.log=this.log,n}function n(e,t){let s=0,n=0,i=-1,r=0;for(;s<e.length;)if(n<t.length&&(t[n]===e[s]||"*"===t[n]))"*"===t[n]?(i=n,r=s,n++):(s++,n++);else{if(-1===i)return!1;n=i+1,r++,s=r}for(;n<t.length&&"*"===t[n];)n++;return n===t.length}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names,...t.skips.map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const s=("string"==typeof e?e:"").trim().replace(" ",",").split(",").filter(Boolean);for(const n of s)"-"===n[0]?t.skips.push(n.slice(1)):t.names.push(n)},t.enabled=function(e){for(const s of t.skips)if(n(e,s))return!1;for(const s of t.names)if(n(e,s))return!0;return!1},t.humanize=function(){if(Xt)return Qt;Xt=1;var e=1e3,t=60*e,s=60*t,n=24*s,i=7*n;function r(e,t,s,n){var i=t>=1.5*s;return Math.round(e/s)+" "+n+(i?"s":"")}return Qt=function(a,o){o=o||{};var l,c,d=typeof a;if("string"===d&&a.length>0)return function(r){if(!((r=String(r)).length>100)){var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"weeks":case"week":case"w":return o*i;case"days":case"day":case"d":return o*n;case"hours":case"hour":case"hrs":case"hr":case"h":return o*s;case"minutes":case"minute":case"mins":case"min":case"m":return o*t;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(a);if("number"===d&&isFinite(a))return o.long?(l=a,(c=Math.abs(l))>=n?r(l,c,n,"day"):c>=s?r(l,c,s,"hour"):c>=t?r(l,c,t,"minute"):c>=e?r(l,c,e,"second"):l+" ms"):function(i){var r=Math.abs(i);return r>=n?Math.round(i/n)+"d":r>=s?Math.round(i/s)+"h":r>=t?Math.round(i/t)+"m":r>=e?Math.round(i/e)+"s":i+"ms"}(a);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(a))}}(),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((s=>{t[s]=e[s]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let s=0;for(let t=0;t<e.length;t++)s=(s<<5)-s+e.charCodeAt(t),s|=0;return t.colors[Math.abs(s)%t.colors.length]},t.enable(t.load()),t}))(t);const{formatters:s}=e.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}
2(ss,ss.exports));Object.prototype.hasOwnProperty;Error;const ns=typeof Buffer>"u"?()=>!1:e=>Buffer.isBuffer(e);function is(e){return"[object Object]"===Object.prototype.toString.call(e)}function rs(e){if(!1===is(e))return!1;const t=e.constructor;if(void 0===t)return!0;const s=t.prototype;return!(!1===is(s)||!1===s.hasOwnProperty("isPrototypeOf"))}const as=["boolean","string","number"];function os(e){return{onResponse:s=>{const n=s.headers["content-type"]||"",i=e&&e.force||-1!==n.indexOf("application/json");return s.body&&n&&i?Object.assign({},s,{body:t(s.body)}):s},processOptions:e=>Object.assign({},e,{headers:Object.assign({Accept:"application/json"},e.headers)})};function t(e){try{return JSON.parse(e)}catch(e){throw e.message=`Failed to parsed response body as JSON: ${e.message}`,e}}}let ls={};typeof globalThis<"u"?ls=globalThis:typeof window<"u"?ls=window:typeof global<"u"?ls=global:typeof self<"u"&&(ls=self);var cs=ls;function ds(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).implementation||cs.Observable;if(!e)throw new Error("`Observable` is not available in global scope, and no implementation was passed");return{onReturn:(t,s)=>new e((e=>(t.error.subscribe((t=>e.error(t))),t.progress.subscribe((t=>e.next(Object.assign({type:"progress"},t)))),t.response.subscribe((t=>{e.next(Object.assign({type:"response"},t)),e.complete()})),t.request.publish(s),()=>t.abort.publish())))}}const us=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=e.implementation||Promise;if(!t)throw new Error("`Promise` is not available in global scope, and no implementation was passed");return{onReturn:(s,n)=>new t(((t,i)=>{const r=n.options.cancelToken;r&&r.promise.then((e=>{s.abort.publish(e),i(e)})),s.error.subscribe(i),s.response.subscribe((s=>{t(e.onlyBody?s.body:s)})),setTimeout((()=>{try{s.request.publish(n)}catch(e){i(e)}}),0)}))}};class hs{__CANCEL__=!0;message;constructor(e){this.message=e}toString(){return"Cancel"+(this.message?`: ${this.message}`:"")}}class ps{promise;reason;constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t=null;this.promise=new Promise((e=>{t=e})),e((e=>{this.reason||(this.reason=new hs(e),t(this.reason))}))}static source=()=>{let e;return{token:new ps((t=>{e=t})),cancel:e}}}us.Cancel=hs,us.CancelToken=ps,us.isCancel=e=>!(!e||!e?.__CANCEL__);var ms=(e,t,s)=>("GET"===s.method||"HEAD"===s.method)&&(e.isNetworkError||!1);function fs(e){return 100*Math.pow(2,e)+100*Math.random()}const gs=function(){return(e=>{const t=e.maxRetries||5,s=e.retryDelay||fs,n=e.shouldRetry;return{onError:(e,i)=>{const r=i.options,a=r.maxRetries||t,o=r.retryDelay||s,l=r.shouldRetry||n,c=r.attemptNumber||0;if(null!==(d=r.body)&&"object"==typeof d&&"function"==typeof d.pipe||!l(e,c,r)||c>=a)return e;var d;const u=Object.assign({},i,{options:Object.assign({},r,{attemptNumber:c+1})});return setTimeout((()=>i.channels.request.publish(u)),o(c)),null}}})({shouldRetry:ms,...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}})};gs.shouldRetry=ms;
2class ys extends Error{request;code;constructor(e,t){super(e.message),this.request=t,this.code=e.code}}xs=function(e){return{}};var xs,vs=function(e,t){return vs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])},vs(e,t)};function js(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function s(){this.constructor=e}vs(e,t),e.prototype=null===t?Object.create(t):(s.prototype=t.prototype,new s)}function ws(e,t,s,n){return new(s||(s=Promise))((function(i,r){function a(e){try{l(n.next(e))}catch(It){r(It)}}function o(e){try{l(n.throw(e))}catch(It){r(It)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(a,o)}l((n=n.apply(e,t||[])).next())}))}function bs(e,t){var s,n,i,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"===typeof Iterator?Iterator:Object).prototype);return a.next=o(0),a.throw=o(1),a.return=o(2),"function"===typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function o(o){return function(l){return function(o){if(s)throw new TypeError("Generator is already executing.");for(;a&&(a=0,o[0]&&(r=0)),r;)try{if(s=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return r.label++,{value:o[1],done:!1};case 5:r.label++,n=o[1],o=[0];continue;case 7:o=r.ops.pop(),r.trys.pop();continue;default:if(!(i=(i=r.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){r=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){r.label=o[1];break}if(6===o[0]&&r.label<i[1]){r.label=i[1],i=o;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(o);break}i[2]&&r.ops.pop(),r.trys.pop();continue}o=t.call(e,r)}catch(It){o=[6,It],n=0}finally{s=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,l])}}}Object.create;function Ss(e){var t="function"===typeof Symbol&&Symbol.iterator,s=t&&e[t],n=0;if(s)return s.call(e);if(e&&"number"===typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function ks(e,t){var s="function"===typeof Symbol&&e[Symbol.iterator];if(!s)return e;var n,i,r=s.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(o){i={error:o}}finally{try{n&&!n.done&&(s=r.return)&&s.call(r)}finally{if(i)throw i.error}}return a}function Ns(e,t,s){if(s||2===arguments.length)for(var n,i=0,r=t.length;i<r;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))}function As(e){return this instanceof As?(this.v=e,this):new As(e)}function _s(e,t,s){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,i=s.apply(e,t||[]),r=[];return n=Object.create(("function"===typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",(function(e){return function(t){return Promise.resolve(t).then(e,c)}})),n[Symbol.asyncIterator]=function(){return this},n;function a(e,t){i[e]&&(n[e]=function(t){return new Promise((function(s,n){r.push([e,t,s,n])>1||o(e,t)}))},t&&(n[e]=t(n[e])))}function o(e,t){try{!function(e){e.value instanceof As?Promise.resolve(e.value.v).then(l,c):d(r[0][2],e)}(i[e](t))}catch(It){d(r[0][3],It)}}function l(e){o("next",e)}function c(e){o("throw",e)}function d(e,t){e(t),r.shift(),r.length&&o(r[0][0],r[0][1])}}function Ms(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,s=e[Symbol.asyncIterator];return s?s.call(e):(e=Ss(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(s){t[s]=e[s]&&function(t){return new Promise((function(n,i){(function(e,t,s,n){Promise.resolve(n).then((function(t){e({value:t,done:s})}),t)})(n,i,(t=e[s](t)).done,t.value)}))}}}Object.create;"function"===typeof SuppressedError&&SuppressedError;function Cs(e){return"function"===typeof e}function Ts(e){var t=e((function(e){Error.call(e),e.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var Es=Ts((function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(e,t){return t+1+") "+e.toString()})).join("\n  "):"",this.name="UnsubscriptionError",this.errors=t}}));function Is(e,t){if(e){var s=e.indexOf(t);0<=s&&e.splice(s,1)}}var Ps=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var e,t,s,n,i;if(!this.closed){this.closed=!0;var r=this._parentage;if(r)if(this._parentage=null,Array.isArray(r))try{for(var a=Ss(r),o=a.next();!o.done;o=a.next()){o.value.remove(this)}}catch(p){e={error:p}}finally{try{o&&!o.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else r.remove(this);var l=this.initialTeardown;
vendor: 6,097 bytes, line 2
2if(Cs(l))try{l()}catch(It){i=It instanceof Es?It.errors:[It]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var d=Ss(c),u=d.next();!u.done;u=d.next()){var h=u.value;try{Os(h)}catch(m){i=null!==i&&void 0!==i?i:[],m instanceof Es?i=Ns(Ns([],ks(i)),ks(m.errors)):i.push(m)}}}catch(f){s={error:f}}finally{try{u&&!u.done&&(n=d.return)&&n.call(d)}finally{if(s)throw s.error}}}if(i)throw new Es(i)}},e.prototype.add=function(t){var s;if(t&&t!==this)if(this.closed)Os(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(s=this._finalizers)&&void 0!==s?s:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Is(t,e)},e.prototype.remove=function(t){var s=this._finalizers;s&&Is(s,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}(),Ds=Ps.EMPTY;function Fs(e){return e instanceof Ps||e&&"closed"in e&&Cs(e.remove)&&Cs(e.add)&&Cs(e.unsubscribe)}function Os(e){Cs(e)?e():e.unsubscribe()}var Rs={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ls={setTimeout:function(e,t){for(var s=[],n=2;n<arguments.length;n++)s[n-2]=arguments[n];var i=Ls.delegate;return(null===i||void 0===i?void 0:i.setTimeout)?i.setTimeout.apply(i,Ns([e,t],ks(s))):setTimeout.apply(void 0,Ns([e,t],ks(s)))},clearTimeout:function(e){var t=Ls.delegate;return((null===t||void 0===t?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function qs(e){Ls.setTimeout((function(){var t=Rs.onUnhandledError;if(!t)throw e;t(e)}))}function zs(){}var Us=Bs("C",void 0,void 0);function Bs(e,t,s){return{kind:e,value:t,error:s}}var Ws=null;function Hs(e){if(Rs.useDeprecatedSynchronousErrorHandling){var t=!Ws;if(t&&(Ws={errorThrown:!1,error:null}),e(),t){var s=Ws,n=s.errorThrown,i=s.error;if(Ws=null,n)throw i}}else e()}var Zs=function(e){function t(t){var s=e.call(this)||this;return s.isStopped=!1,t?(s.destination=t,Fs(t)&&t.add(s)):s.destination=Xs,s}return js(t,e),t.create=function(e,t,s){return new Ys(e,t,s)},t.prototype.next=function(e){this.isStopped?Qs(function(e){return Bs("N",e,void 0)}(e),this):this._next(e)},t.prototype.error=function(e){this.isStopped?Qs(Bs("E",void 0,e),this):(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped?Qs(Us,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(Ps),$s=Function.prototype.bind;function Gs(e,t){return $s.call(e,t)}var Vs=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(s){Ks(s)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(s){Ks(s)}else Ks(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){Ks(t)}},e}(),Ys=function(e){function t(t,s,n){var i,r,a=e.call(this)||this;Cs(t)||!t?i={next:null!==t&&void 0!==t?t:void 0,error:null!==s&&void 0!==s?s:void 0,complete:null!==n&&void 0!==n?n:void 0}:a&&Rs.useDeprecatedNextContext?((r=Object.create(t)).unsubscribe=function(){return a.unsubscribe()},i={next:t.next&&Gs(t.next,r),error:t.error&&Gs(t.error,r),complete:t.complete&&Gs(t.complete,r)}):i=t;return a.destination=new Vs(i),a}return js(t,e),t}(Zs);function Ks(e){var t;Rs.useDeprecatedSynchronousErrorHandling?(t=e,Rs.useDeprecatedSynchronousErrorHandling&&Ws&&(Ws.errorThrown=!0,Ws.error=t)):qs(e)}function Qs(e,t){var s=Rs.onStoppedNotification;s&&Ls.setTimeout((function(){return s(e,t)}))}var Xs={closed:!0,next:zs,error:function(e){throw e},complete:zs},Js="function"===typeof Symbol&&Symbol.observable||"@@observable";function en(e){return e}function tn(e){return 0===e.length?en:1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}}var sn=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var s=new e;return s.source=this,s.operator=t,s},e.prototype.subscribe=function(e,t,s){var n,i=this,r=(n=e)&&n instanceof Zs||function(e){return e&&Cs(e.next)&&Cs(e.error)&&Cs(e.complete)}(n)&&Fs(n)?e:new Ys(e,t,s);return Hs((function(){var e=i,t=e.operator,s=e.source;r.add(t?t.call(r,s):s?i._subscribe(r):i._trySubscribe(r))})),r},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var s=this;return new(t=nn(t))((function(t,n){var i=new Ys({next:function(t){try{e(t)}catch(s){n(s),i.unsubscribe()}},error:n,complete:t});s.subscribe(i)}))},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[Js]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return tn(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=nn(e))((function(e,s){var n;t.subscribe((function(e){return n=e}),(function(e){return s(e)}),(function(){return e(n)}))}))},e.create=function(t){return new e(t)},e}();function nn(e){var t;return null!==(t=null!==e&&void 0!==e?e:Rs.Promise)&&void 0!==t?t:Promise}var rn=function(e){return e&&"number"===typeof e.length&&"function"!==typeof e};function an(e){return Cs(null===e||void 0===e?void 0:e.then)}function on(e){return Cs(e[Js])}function ln(e){return Symbol.asyncIterator&&Cs(null===e||void 0===e?void 0:e[Symbol.asyncIterator])}function cn(e){return new TypeError("You provided "+(null!==e&&"object"===typeof e?"an invali
2d object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var dn="function"===typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function un(e){return Cs(null===e||void 0===e?void 0:e[dn])}function hn(e){return _s(this,arguments,(function(){var t,s,n;return bs(this,(function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,As(t.read())];case 3:return s=i.sent(),n=s.value,s.done?[4,As(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,As(n)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}function pn(e){return Cs(null===e||void 0===e?void 0:e.getReader)}function mn(e){if(e instanceof sn)return e;if(null!=e){if(on(e))return i=e,new sn((function(e){var t=i[Js]();if(Cs(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(rn(e))return n=e,new sn((function(e){for(var t=0;t<n.length&&!e.closed;t++)e.next(n[t]);e.complete()}));if(an(e))return s=e,new sn((function(e){s.then((function(t){e.closed||(e.next(t),e.complete())}),(function(t){return e.error(t)})).then(null,qs)}));if(ln(e))return fn(e);if(un(e))return t=e,new sn((function(e){var s,n;try{for(var i=Ss(t),r=i.next();!r.done;r=i.next()){var a=r.value;if(e.next(a),e.closed)return}}catch(o){s={error:o}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(s)throw s.error}}e.complete()}));if(pn(e))return fn(hn(e))}var t,s,n,i;throw cn(e)}function fn(e){return new sn((function(t){(function(e,t){var s,n,i,r;return ws(this,void 0,void 0,(function(){var a,o;return bs(this,(function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),s=Ms(e),l.label=1;case 1:return[4,s.next()];case 2:if((n=l.sent()).done)return[3,4];if(a=n.value,t.next(a),t.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return o=l.sent(),i={error:o},[3,11];case 6:return l.trys.push([6,,9,10]),n&&!n.done&&(r=s.return)?[4,r.call(s)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(e,t).catch((function(e){return t.error(e)}))}))}function gn(e){return new sn((function(t){mn(e()).subscribe(t)}))}function yn(e){return e&&Cs(e.schedule)}function xn(e){return e[e.length-1]}function vn(e){return yn(xn(e))?e.pop():void 0}function jn(e,t,s,n,i){void 0===n&&(n=0),void 0===i&&(i=!1);var r=t.schedule((function(){s(),i?e.add(this.schedule(null,n)):this.unsubscribe()}),n);if(e.add(r),!i)return r}function wn(e){return function(t){if(function(e){return Cs(null===e||void 0===e?void 0:e.lift)}(t))return t.lift((function(t){try{return e(t,this)}catch(s){this.error(s)}}));throw new TypeError("Unable to lift unknown Observable type")}}function bn(e,t,s,n,i){return new Sn(e,t,s,n,i)}var Sn=function(e){function t(t,s,n,i,r,a){var o=e.call(this,t)||this;return o.onFinalize=r,o.shouldUnsubscribe=a,o._next=s?function(e){try{s(e)}catch(n){t.error(n)}}:e.prototype._next,o._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,o._complete=n?function(){try{n()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,o}return js(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var s=this.closed;e.prototype.unsubscribe.call(this),!s&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Zs);function kn(e,t){return void 0===t&&(t=0),wn((function(s,n){s.subscribe(bn(n,(function(s){return jn(n,e,(function(){return n.next(s)}),t)}),(function(){return jn(n,e,(function(){return n.complete()}),t)}),(function(s){return jn(n,e,(function(){return n.error(s)}),t)})))}))}function Nn(e,t){return void 0===t&&(t=0),wn((function(s,n){n.add(e.schedule((function(){return s.subscribe(n)}),t))}))}function An(e,t){if(!e)throw new Error("Iterable cannot be null");return new sn((function(s){jn(s,t,(function(){var n=e[Symbol.asyncIterator]();jn(s,t,(function(){n.next().then((function(e){e.done?s.complete():s.next(e.value)}))}),0,!0)}))}))}function _n(e,t){if(null!=e){if(on(e))return function(e,t){return mn(e).pipe(Nn(t),kn(t))}(e,t);if(rn(e))return function(e,t){return new sn((function(s){var n=0;return t.schedule((function(){n===e.length?s.complete():(s.next(e[n++]),s.closed||this.schedule())}))}))}(e,t);if(an(e))return function(e,t){return mn(e).pipe(Nn(t),kn(t))}(e,t);if(ln(e))return An(e,t);if(un(e))return function(e,t){return new sn((function(s){var n;return jn(s,t,(function(){n=e[dn](),jn(s,t,(function(){var e,t,i;try{t=(e=n.next()).value,i=e.done}catch(r){return void s.error(r)}i?s.complete():s.next(t)}),0,!0)})),function(){return Cs(null===n||void 0===n?void 0:n.return)&&n.return()}}))}(e,t);if(pn(e))return function(e,t){return An(hn(e),t)}(e,t)}throw cn(e)}function Mn(e,t){return t?_n(e,t):mn(e)}function Cn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Mn(e,vn(e))}function Tn(e,t){return wn((function(s,n){var i=0;s.subscribe(bn(n,(function(s){n.next(e.call(t,s,i++))})))}))}function En(e,t,s){return void 0===s&&(s=1/0),Cs(t)?En((function(s,n){return Tn((function(e,i){return t(s,e,n,i)}))(mn(e(s,n)))}),s):("number"===typeof t&&(s=t),wn((function(t,n){return function(e,t,s,n,i,r,a,o){var l=[],c=0,d=0,u=!1,h=function(){!u||l.length||c||t.complete()},p=function(e){return c<n?m(e):l.push(e)},m=function(e){r&&t.next(e),c++;var o=!1;mn(s(e,d++)).subscribe(bn(t,(function(e){null===i||void 0===i||i(e),r?p(e):t.next(e)}),(function(){o=!0}),void 0,(function(){if(o)try{c--;for(var e=function(){var e=l.shift();a?jn(t,a,(function(){return m(e)})):m(e)};l.length&&c<n;)e();h()}catch(s){t.error(s)}})))};return e.subscribe(bn(t,p,(function(){u=!0,h()}))),function(){null===o||void 0===o||o()}}(t,n,e,s)})))}var In=Ts((function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}}));function Pn(e,t){var s="object"===typeof t;return new Promise((function(n,i){var r,a=!1;e.subscribe({next:function(e){r=e,a=!0}
vendor: 4,354 bytes, line 2
2,error:i,complete:function(){a?n(r):s?n(t.defaultValue):i(new In)}})}))}var Dn=Ts((function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})),Fn=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return js(t,e),t.prototype.lift=function(e){var t=new On(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new Dn},t.prototype.next=function(e){var t=this;Hs((function(){var s,n;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=Ss(t.currentObservers),r=i.next();!r.done;r=i.next()){r.value.next(e)}}catch(a){s={error:a}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(s)throw s.error}}}}))},t.prototype.error=function(e){var t=this;Hs((function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var s=t.observers;s.length;)s.shift().error(e)}}))},t.prototype.complete=function(){var e=this;Hs((function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}}))},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,s=this,n=s.hasError,i=s.isStopped,r=s.observers;return n||i?Ds:(this.currentObservers=null,r.push(e),new Ps((function(){t.currentObservers=null,Is(r,e)})))},t.prototype._checkFinalizedStatuses=function(e){var t=this,s=t.hasError,n=t.thrownError,i=t.isStopped;s?e.error(n):i&&e.complete()},t.prototype.asObservable=function(){var e=new sn;return e.source=this,e},t.create=function(e,t){return new On(e,t)},t}(sn),On=function(e){function t(t,s){var n=e.call(this)||this;return n.destination=t,n.source=s,n}return js(t,e),t.prototype.next=function(e){var t,s;null===(s=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===s||s.call(t,e)},t.prototype.error=function(e){var t,s;null===(s=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===s||s.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,s;return null!==(s=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==s?s:Ds},t}(Fn),Rn={now:function(){return(Rn.delegate||Date).now()},delegate:void 0},Ln=function(e){function t(t,s,n){void 0===t&&(t=1/0),void 0===s&&(s=1/0),void 0===n&&(n=Rn);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=s,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=s===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,s),i}return js(t,e),t.prototype.next=function(t){var s=this,n=s.isStopped,i=s._buffer,r=s._infiniteTimeWindow,a=s._timestampProvider,o=s._windowTime;n||(i.push(t),!r&&i.push(a.now()+o)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),s=this._infiniteTimeWindow,n=this._buffer.slice(),i=0;i<n.length&&!e.closed;i+=s?1:2)e.next(n[i]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,s=e._timestampProvider,n=e._buffer,i=e._infiniteTimeWindow,r=(i?1:2)*t;if(t<1/0&&r<n.length&&n.splice(0,n.length-r),!i){for(var a=s.now(),o=0,l=1;l<n.length&&n[l]<=a;l+=2)o=l;o&&n.splice(0,o+1)}},t}(Fn);function qn(e){void 0===e&&(e={});var t=e.connector,s=void 0===t?function(){return new Fn}:t,n=e.resetOnError,i=void 0===n||n,r=e.resetOnComplete,a=void 0===r||r,o=e.resetOnRefCountZero,l=void 0===o||o;return function(e){var t,n,r,o=0,c=!1,d=!1,u=function(){null===n||void 0===n||n.unsubscribe(),n=void 0},h=function(){u(),t=r=void 0,c=d=!1},p=function(){var e=t;h(),null===e||void 0===e||e.unsubscribe()};
2return wn((function(e,m){o++,d||c||u();var f=r=null!==r&&void 0!==r?r:s();m.add((function(){0!==--o||d||c||(n=zn(p,l))})),f.subscribe(m),!t&&o>0&&(t=new Ys({next:function(e){return f.next(e)},error:function(e){d=!0,u(),n=zn(h,i,e),f.error(e)},complete:function(){c=!0,u(),n=zn(h,a),f.complete()}}),mn(e).subscribe(t))}))(e)}}function zn(e,t){for(var s=[],n=2;n<arguments.length;n++)s[n-2]=arguments[n];if(!0!==t){if(!1!==t){var i=new Ys({next:function(){i.unsubscribe(),e()}});return mn(t.apply(void 0,Ns([],ks(s)))).subscribe(i)}}else e()}function Un(e){return wn((function(t,s){var n,i=null,r=!1;i=t.subscribe(bn(s,void 0,void 0,(function(a){n=mn(e(a,Un(e)(t))),i?(i.unsubscribe(),i=null,n.subscribe(s)):r=!0}))),r&&(i.unsubscribe(),i=null,n.subscribe(s))}))}function Bn(e){return void 0===e&&(e=1/0),En(en,e)}function Wn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Bn(1)(Mn(e,vn(e)))}var Hn=function(e){function t(t,s){return e.call(this)||this}return js(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(Ps),Zn={setInterval:function(e,t){for(var s=[],n=2;n<arguments.length;n++)s[n-2]=arguments[n];var i=Zn.delegate;return(null===i||void 0===i?void 0:i.setInterval)?i.setInterval.apply(i,Ns([e,t],ks(s))):setInterval.apply(void 0,Ns([e,t],ks(s)))},clearInterval:function(e){var t=Zn.delegate;return((null===t||void 0===t?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0},$n=function(e){function t(t,s){var n=e.call(this,t,s)||this;
2return n.scheduler=t,n.work=s,n.pending=!1,n}return js(t,e),t.prototype.schedule=function(e,t){var s;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,t)),this.pending=!0,this.delay=t,this.id=null!==(s=this.id)&&void 0!==s?s:this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,s){return void 0===s&&(s=0),Zn.setInterval(e.flush.bind(e,this),s)},t.prototype.recycleAsyncId=function(e,t,s){if(void 0===s&&(s=0),null!=s&&this.delay===s&&!1===this.pending)return t;null!=t&&Zn.clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var s=this._execute(e,t);if(s)return s;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var s,n=!1;try{this.work(e)}catch(It){n=!0,s=It||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),s},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,s=this.scheduler,n=s.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Is(n,this),null!=t&&(this.id=this.recycleAsyncId(s,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Hn),Gn=function(){function e(t,s){void 0===s&&(s=e.now),this.schedulerActionCtor=t,this.now=s}return e.prototype.schedule=function(e,t,s){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(s,t)},e.now=Rn.now,e}(),Vn=new(function(e){function t(t,s){void 0===s&&(s=Gn.now);var n=e.call(this,t,s)||this;return n.actions=[],n._active=!1,n}return js(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var s;this._active=!0;do{if(s=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,s){for(;e=t.shift();)e.unsubscribe();throw s}}},t}(Gn))($n);function Yn(e,t,s){void 0===e&&(e=0),void 0===s&&(s=Vn);var n=-1;return null!=t&&(yn(t)?s=t:n=t),new sn((function(t){var i,r=(i=e)instanceof Date&&!isNaN(i)?+e-s.now():e;r<0&&(r=0);var a=0;return s.schedule((function(){t.closed||(t.next(a++),0<=n?this.schedule(void 0,n):t.complete())}),r)}))}function Kn(e,t){var s=Cs(e)?e:function(){return e},n=function(e){return e.error(s())};return new sn(t?function(e){return t.schedule(n,0,e)}:n)}function Qn(e){return wn((function(t,s){try{t.subscribe(s)}finally{s.add(e)}}))}var Xn=new sn((function(e){return e.complete()}));function Jn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var s=vn(e),n=function(e,t){return"number"===typeof xn(e)?e.pop():t}(e,1/0),i=e;return i.length?1===i.length?mn(i[0]):Bn(n)(Mn(i,s)):Xn}function ei(e,t){var s="object"===typeof t;return new Promise((function(n,i){var r=new Ys({next:function(e){n(e),r.unsubscribe()},error:i,complete:function(){s?n(t.defaultValue):i(new In)}});e.subscribe(r)}))}var ti=s(490);function si(e,t,s){return void 0===s&&(s=en),function(n){ni(t,(function(){for(var i=e.length,r=new Array(i),a=i,o=i,l=function(i){ni(t,(function(){var l=Mn(e[i],t),c=!1;l.subscribe(bn(n,(function(e){r[i]=e,c||(c=!0,o--),o||n.next(s(r.slice()))}),(function(){--a||n.complete()})))}),n)},c=0;c<i;c++)l(c)}),n)}}function ni(e,t,s){e?jn(s,e,t):t()}var ii=Array.isArray;var ri=Array.isArray;function ai(e){return Tn((function(t){return function(e,t){return ri(t)?e.apply(void 0,Ns([],ks(t))):e(t)}(e,t)}))}function oi(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var s=function(e){return Cs(xn(e))?e.pop():void 0}(e);return s?function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return tn(e)}(oi.apply(void 0,Ns([],ks(e))),ai(s)):wn((function(t,s){si(Ns([t],ks(function(e){return 1===e.length&&ii(e[0])?e[0]:e}(e))))(s)}))}function li(e,t){return wn((function(s,n){var i=0;s.subscribe(bn(n,(function(s){return e.call(t,s,i++)&&n.next(s)})))}))}const ci=".",di=`drafts${ci}`,ui=`versions${ci}`;function hi(e){return e.startsWith(di)}function pi(e){return e.startsWith(ui)}function mi(e,t){if("drafts"===t||"published"===t)throw new Error('Version can not be "published" or "drafts"');return`${ui}${t}${ci}${gi(e)}`}function fi(e){if(!pi(e))return;const[t,s,...n]=e.split(ci);return s}function gi(e){return pi(e)?e.split(ci).slice(2).join(ci):hi(e)?e.slice(di.length):e}let yi=e=>crypto.getRandomValues(new Uint8Array(e));const xi=/\r\n|[\n\r\u2028\u2029]/;function vi(e,t,s){const n=e.split(xi),i={start:ji(t.start,n),end:t.end?ji(t.end,n):void 0},{start:r,end:a,markerLines:o}=function(e,t){const s={...e.start},n={...s,...e.end},i=2,r=3,a=s.line??-1,o=s.column??0,l=n.line,c=n.column;let d=Math.max(a-(i+1),0),u=Math.min(t.length,l+r);-1===a&&(d=0),-1===l&&(u=t.length);const h=l-a,p={};if(h)for(let m=0;m<=h;m++){const e=m+a;if(o)if(0===m){const s=t[e-1].length;p[e]=[o,s-o+1]}else if(m===h)p[e]=[0,c];else{const s=t[e-m].length;p[e]=[0,s]}else p[e]=!0}else p[a]=o===c?!o||[o,0]:[o,c-o];return{start:d,end:u,markerLines:p}}(i,n),l=`${a}`.length;return e.split(xi,a).slice(r,a).map(((e,t)=>{const n=r+1+t,i=` ${` ${n}`.slice(-l)} |`,a=o[n],c=!o[n+1];if(!a)return` ${i}${e.length>0?` ${e}`:""}`;let d="";if(Array.isArray(a)){const t=e.slice(0,Math.max(a[0]-1,0)).replace(/[^\t]/g," "),n=a[1]||1;d=["\n ",i.replace(/\d/g," ")," ",t,"^".repeat(n)].join(""),c&&s&&(d+=" "+s)}return[">",i,e.length>0?` ${e}`:"",d].join("")})).join("\n")}function ji(e,t){let s=0;for(let n=0;n<t.length;n++){const i=t[n].length+1;if(s+i>e)return{line:n+1,column:e-s};s+=i}return{line:t.length,column:t[t.length-1]?.length??0}}
2class wi extends Error{response;statusCode=400;responseBody;details;constructor(e,t){const s=Si(e,t);super(s.message),Object.assign(this,s)}}class bi extends Error{response;statusCode=500;responseBody;details;constructor(e){const t=Si(e);super(t.message),Object.assign(this,t)}}function Si(e,t){const s=e.body,n={response:e,statusCode:e.statusCode,responseBody:_i(s,e),message:"",details:void 0};if(!(0,ti.u4)(s))return n.message=Ai(e,s),n;const i=s.error;if("string"==typeof i&&"string"==typeof s.message)return n.message=`${i} - ${s.message}`,n;if("object"!=typeof i||null===i)return"string"==typeof i?n.message=i:"string"==typeof s.message?n.message=s.message:n.message=Ai(e,s),n;if(function(e){return"type"in e&&"mutationError"===e.type&&"description"in e&&"string"==typeof e.description}(i)||function(e){return"type"in e&&"actionError"===e.type&&"description"in e&&"string"==typeof e.description}(i)){const e=i.items||[],t=e.slice(0,5).map((e=>e.error?.description)).filter(Boolean);let r=t.length?`:\n- ${t.join("\n- ")}`:"";return e.length>5&&(r+=`\n...and ${e.length-5} more`),n.message=`${i.description}${r}`,n.details=s.error,n}if(ki(i)){const e=t?.options?.query?.tag;return n.message=Ni(i,e),n.details=s.error,n}return"description"in i&&"string"==typeof i.description?(n.message=i.description,n.details=i,n):(n.message=Ai(e,s),n)}function ki(e){return(0,ti.u4)(e)&&"queryParseError"===e.type&&"string"==typeof e.query&&"number"==typeof e.start&&"number"==typeof e.end}function Ni(e,t){const{query:s,start:n,end:i,description:r}=e;if(!s||typeof n>"u")return`GROQ query parse error: ${r}`;const a=t?`\n\nTag: ${t}`:"";return`GROQ query parse error:\n${vi(s,{start:n,end:i},r)}${a}`}function Ai(e,t){const s="string"==typeof t?` (${i=t,r=100,i.length>r?`${i.slice(0,r)}\u2026`:i})`:"",n=e.statusMessage?` ${e.statusMessage}`:"";var i,r;return`${e.method}-request to ${e.url} resulted in HTTP ${e.statusCode}${n}${s}`}function _i(e,t){return-1!==(t.headers["content-type"]||"").toLowerCase().indexOf("application/json")?JSON.stringify(e,null,2):e}class Mi extends Error{projectId;addOriginUrl;constructor(e){let{projectId:t}=e;super("CorsOriginError"),this.name="CorsOriginError",this.projectId=t;const s=new URL(`https://sanity.io/manage/project/${t}/api`);if(typeof location<"u"){const{origin:e}=location;s.searchParams.set("cors","add"),s.searchParams.set("origin",e),this.addOriginUrl=s,this.message=`The current origin is not allowed to connect to the Live Content API. Add it here: ${s}`}else this.message=`The current origin is not allowed to connect to the Live Content API. Change your configuration here: ${s}`}}const Ci={onResponse:(e,t)=>{if(e.statusCode>=500)throw new bi(e);if(e.statusCode>=400)throw new wi(e,t);return e}};function Ti(){const e={};return{onResponse:t=>{const s=t.headers["x-sanity-warning"],n=Array.isArray(s)?s:[s];for(const i of n)!i||e[i]||(e[i]=!0,console.warn(i));return t}}}function Ei(e){return Kt([gs({shouldRetry:Ii}),...e,Ti(),{processOptions:e=>{const t=e.body;return!t||"function"==typeof t.pipe||ns(t)||-1===as.indexOf(typeof t)&&!Array.isArray(t)&&!rs(t)?e:Object.assign({},e,{body:JSON.stringify(e.body),headers:Object.assign({},e.headers,{"Content-Type":"application/json"})})}},os(),{onRequest:e=>{if("xhr"!==e.adapter)return;const t=e.request,s=e.context;function n(e){return t=>{const n=t.lengthComputable?t.loaded/t.total*100:-1;s.channels.progress.publish({stage:e,percent:n,total:t.total,loaded:t.loaded,lengthComputable:t.lengthComputable})}}"upload"in t&&"onprogress"in t.upload&&(t.upload.onprogress=n("upload")),"onprogress"in t&&(t.onprogress=n("download"))}},Ci,ds({implementation:sn})])}function Ii(e,t,s){if(0===s.maxRetries)return!1;const n="GET"===s.method||"HEAD"===s.method,i=(s.uri||s.url).startsWith("/data/query"),r=e.response&&(429===e.response.statusCode||502===e.response.statusCode||503===e.response.statusCode);return!(!n&&!i||!r)||gs.shouldRetry(e,t,s)}function Pi(e){return"https://www.sanity.io/help/"+e}const Di=["image","file"],Fi=["before","after","replace"],Oi=e=>{if(!/^(~[a-z0-9]{1}[-\w]{0,63}|[a-z0-9]{1}[-\w]{0,63})$/.test(e))throw new Error("Datasets can only contain lowercase characters, numbers, underscores and dashes, and start with tilde, and be maximum 64 characters")},Ri=(e,t)=>{if(null===t||"object"!=typeof t||Array.isArray(t))throw new Error(`${e}() takes an object of properties`)},Li=(e,t)=>{if("string"!=typeof t||!/^[a-z0-9_][a-z0-9_.-]{0,127}$/i.test(t)||t.includes(".."))throw new Error(`${e}(): "${t}" is not a valid document ID`)},qi=(e,t)=>{if(!t._id)throw new Error(`${e}() requires that the document contains an ID ("_id" property)`);Li(e,t._id)},zi=(e,t)=>{if(!t._type)throw new Error(`\`${e}()\` requires that the document contains a type (\`_type\` property)`);((e,t)=>
2{if("string"!=typeof t)throw new Error(`\`${e}()\`: \`${t}\` is not a valid document type`)})(e,t._type)},Ui=e=>{if(!e.dataset)throw new Error("`dataset` must be provided to perform queries");return e.dataset||""},Bi=e=>{if("string"!=typeof e||!/^[a-z0-9._-]{1,75}$/i.test(e))throw new Error("Tag can only contain alphanumeric characters, underscores, dashes and dots, and be between one and 75 characters long.");return e},Wi=e=>{if(!e["~experimental_resource"])throw new Error("`resource` must be provided to perform resource queries");const{type:t,id:s}=e["~experimental_resource"];switch(t){case"dataset":if(2!==s.split(".").length)throw new Error('Dataset resource ID must be in the format "project.dataset"');return;case"dashboard":case"media-library":case"canvas":return;default:throw new Error(`Unsupported resource type: ${t.toString()}`)}},Hi=(e,t)=>{if(t["~experimental_resource"])throw new Error(`\`${e}\` does not support resource-based operations`)};const Zi=e=>function(e){let t,s=!1;return function(){return s||(t=e(...arguments),s=!0),t}}((function(){for(var t=arguments.length,s=new Array(t),n=0;n<t;n++)s[n]=arguments[n];return console.warn(e.join(" "),...s)})),$i=Zi(["Because you set `withCredentials` to true, we will override your `useCdn`","setting to be false since (cookie-based) credentials are never set on the CDN"]),Gi=Zi(["Since you haven't set a value for `useCdn`, we will deliver content using our","global, edge-cached API-CDN. If you wish to have content delivered faster, set","`useCdn: false` to use the Live API. Note: You may incur higher costs using the live API."]),Vi=Zi(["The Sanity client is configured with the `perspective` set to `drafts` or `previewDrafts`, which doesn't support the API-CDN.","The Live API will be used instead. Set `useCdn: false` in your configuration to hide this warning."]),Yi=Zi(["The `previewDrafts` perspective has been renamed to  `drafts` and will be removed in a future API version"]),Ki=Zi(["You have configured Sanity client to use a token in the browser. This may cause unintentional security issues.",`See ${Pi("js-client-browser-token")} for more information and how to hide this warning.`]),Qi=Zi(["You have configured Sanity client to use a token, but also provided `withCredentials: true`.","This is no longer supported - only token will be used - remove `withCredentials: true`."]),Xi=Zi(["Using the Sanity client without specifying an API version is deprecated.",`See ${Pi("js-client-api-version")}`]),Ji=Zi(["The default export of @sanity/client has been deprecated. Use the named export `createClient` instead."]),er={apiHost:"https://api.sanity.io",apiVersion:"1",useProjectHostname:!0,stega:{enabled:!1}},tr=["localhost","127.0.0.1","0.0.0.0"];function sr(e){if(Array.isArray(e)&&e.length>1&&e.includes("raw"))throw new TypeError('Invalid API perspective value: "raw". The raw-perspective can not be combined with other perspectives')}const nr=(e,t)=>{const s={...t,...e,stega:{..."boolean"==typeof t.stega?{enabled:t.stega}:t.stega||er.stega,..."boolean"==typeof e.stega?{enabled:e.stega}:e.stega||{}}};s.apiVersion||Xi();const n={...er,...s},i=n.useProjectHostname&&!n["~experimental_resource"];if(typeof Promise>"u"){const e=Pi("js-client-promise-polyfill");throw new Error(`No native Promise-implementation found, polyfill needed - see ${e}`)}if(i&&!n.projectId)throw new Error("Configuration must contain `projectId`");if(n["~experimental_resource"]&&Wi(n),typeof n.perspective<"u"&&sr(n.perspective),"encodeSourceMap"in n)throw new Error("It looks like you're using options meant for '@sanity/preview-kit/client'. 'encodeSourceMap' is not supported in '@sanity/client'. Did you mean 'stega.enabled'?");if("encodeSourceMapAtPath"in n)throw new Error("It looks like you're using options meant for '@sanity/preview-kit/client'. 'encodeSourceMapAtPath' is not supported in '@sanity/client'. Did you mean 'stega.filter'?");if("boolean"!=typeof n.stega.enabled)throw new Error(`stega.enabled must be a boolean, received ${n.stega.enabled}`);if(n.stega.enabled&&void 0===n.stega.studioUrl)throw new Error("stega.studioUrl must be defined when stega.enabled is true");if(n.stega.enabled&&"string"!=typeof n.stega.studioUrl&&"function"!=typeof n.stega.studioUrl)throw new Error(`stega.studioUrl must be a string or a function, received ${n.stega.studioUrl}`);const r=typeof window<"u"&&window.location&&window.location.hostname,a=r&&(e=>-1!==tr.indexOf(e))(window.location.hostname),o=!!n.token;n.withCredentials&&o&&(Qi(),n.withCredentials=!1),r&&a&&o&&!0!==n.ignoreBrowserTokenWarning?Ki():typeof n.useCdn>"u"&&Gi(),i&&(e=>{if(!/^[-a-z0-9]+$/i.test(e))throw new Error("`projectId` can only contain only a-z, 0-9 and dashes")})(n.projectId),n.dataset&&Oi(n.dataset),"requestTagPrefix"in n&&
2(n.requestTagPrefix=n.requestTagPrefix?Bi(n.requestTagPrefix).replace(/\.+$/,""):void 0),n.apiVersion=`${n.apiVersion}`.replace(/^v/,""),n.isDefaultApi=n.apiHost===er.apiHost,!0===n.useCdn&&n.withCredentials&&$i(),n.useCdn=!1!==n.useCdn&&!n.withCredentials,function(e){if("1"===e||"X"===e)return;const t=new Date(e);if(!(/^\d{4}-\d{2}-\d{2}$/.test(e)&&t instanceof Date&&t.getTime()>0))throw new Error("Invalid API version string, expected `1` or date in format `YYYY-MM-DD`")}(n.apiVersion);const l=n.apiHost.split("://",2),c=l[0],d=l[1],u=n.isDefaultApi?"apicdn.sanity.io":d;return i?(n.url=`${c}://${n.projectId}.${d}/v${n.apiVersion}`,n.cdnUrl=`${c}://${n.projectId}.${u}/v${n.apiVersion}`):(n.url=`${n.apiHost}/v${n.apiVersion}`,n.cdnUrl=n.url),n};class ir extends Error{name="ConnectionFailedError"}class rr extends Error{name="DisconnectError";reason;constructor(e,t){super(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),this.reason=t}}class ar extends Error{name="ChannelError";data;constructor(e,t){super(e),this.data=t}}class or extends Error{name="MessageError";data;constructor(e,t){super(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),this.data=t}}class lr extends Error{name="MessageParseError"}const cr=["channelError","disconnect"];function dr(e,t){return gn((()=>{const t=e();return(s=t)&&(s instanceof sn||Cs(s.lift)&&Cs(s.subscribe))?t:Cn(t);var s})).pipe(En((e=>function(e,t){return new sn((s=>{const n=t.includes("open"),i=t.includes("reconnect");function r(t){if("data"in t){const[e,n]=ur(t);s.error(e?new lr("Unable to parse EventSource error message",{cause:n}):new or((n?.data).message,n))}else e.readyState===e.CLOSED?s.error(new ir("EventSource connection failed")):i&&s.next({type:"reconnect"})}function a(){s.next({type:"open"})}function o(t){const[n,i]=ur(t);if(n)s.error(new lr("Unable to parse EventSource message",{cause:n}));else if("channelError"!==t.type)"disconnect"!==t.type?s.next({type:t.type,id:t.lastEventId,...i.data?{data:i.data}:{}}):s.error(new rr(`Server disconnected client: ${i.data?.reason||"unknown error"}`));else{const t=new URL(e.url).searchParams.get("tag");s.error(new ar(function(e,t){const s=e.error;return s?ki(s)?Ni(s,t):s.description?s.description:"string"==typeof s?s:JSON.stringify(s,null,2):e.message||"Unknown listener error"}(i?.data,t),i.data))}}e.addEventListener("error",r),n&&e.addEventListener("open",a);const l=[...new Set([...cr,...t])].filter((e=>"error"!==e&&"open"!==e&&"reconnect"!==e));return l.forEach((t=>e.addEventListener(t,o))),()=>{e.removeEventListener("error",r),n&&e.removeEventListener("open",a),l.forEach((t=>e.removeEventListener(t,o))),e.close()}}))}(e,t))))}function ur(e){try{const t="string"==typeof e.data&&JSON.parse(e.data);return[null,{type:e.type,id:e.lastEventId,...hr(t)?{}:{data:t}}]}catch(t){return[t,null]}}function hr(e){for(const t in e)return!1;return!0}function pr(e){if("string"==typeof e)return{id:e};if(Array.isArray(e))return{query:"*[_id in $ids]",params:{ids:e}};if("object"==typeof e&&null!==e&&"query"in e&&"string"==typeof e.query)return"params"in e&&"object"==typeof e.params&&null!==e.params?{query:e.query,params:e.params}:{query:e.query};const t=["* Document ID (<docId>)","* Array of document IDs","* Object containing `query`"].join("\n");throw new Error(`Unknown selection - must be one of:\n\n${t}`)}class mr{selection;operations;constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.selection=e,this.operations=t}set(e){return this._assign("set",e)}setIfMissing(e){return this._assign("setIfMissing",e)}diffMatchPatch(e){return Ri("diffMatchPatch",e),this._assign("diffMatchPatch",e)}unset(e){if(!Array.isArray(e))throw new Error("unset(attrs) takes an array of attributes to unset, non-array given");return this.operations=Object.assign({},this.operations,{unset:e}),this}inc(e){return this._assign("inc",e)}dec(e){return this._assign("dec",e)}insert(e,t,s){return((e,t,s)=>{const n="insert(at, selector, items)";if(-1===Fi.indexOf(e)){const e=Fi.map((e=>`"${e}"`)).join(", ");throw new Error(`${n} takes an "at"-argument which is one of: ${e}`)}if("string"!=typeof t)throw new Error(`${n} takes a "selector"-argument which must be a string`);if(!Array.isArray(s))throw new Error(`${n} takes an "items"-argument which must be an array`)})(e,t,s),this._assign("insert",{[e]:t,items:s})}append(e,t){return this.insert("after",`${e}[-1]`,t)}prepend(e,t){return this.insert("before",`${e}[0]`,t)}splice(e,t,s,n){const i=t<0?t-1:t,r=typeof s>"u"||-1===s?-1:Math.max(0,t+s),a=`${e}[${i}:${i<0&&r>=0?"":r}]`;return this.insert("replace",a,n||[])}ifRevisionId(e){return this.operations.ifRevisionID=e,this}serialize(){return{...pr(this.selection),...this.operations}}toJSON(){return this.serialize()}reset(){return this.operations={},this}_assign(e,t){let s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return Ri(e,t),this.operations=Object.assign({},this.operations,{[e]:Object.assign({},s&&this.operations[e]||{},t)}),this}_set(e,t){return this._assign(e,t,!1)}}class fr extends mr{#o;constructor(e,t,s){super(e,t),this.#o=s}clone(){return new fr(this.selection,{...this.operations},this.#o)}commit(e){if(!this.#o)throw new Error("No `client` passed to patch, either provide one or pass the patch to a clients `mutate()` method");const t="string"==typeof this.selection,s=Object.assign({returnFirst:t,returnDocuments:!0},e);return this.#o.mutate({patch:this.serialize()},s)}}class gr extends mr{#o;constructor(e,t,s){super(e,t),this.#o=s}clone(){return new gr(this.selection,{...this.operations},this.#o)}commit(e){if(!this.#o)throw new Error("No `client` passed to patch, either provide one or pass the patch to a clients `mutate()` method");const t="string"==typeof this.selection,s=Object.assign({returnFirst:t,returnDocuments:!0},e);return this.#o.mutate({patch:this.serialize()},s)}}const yr={returnDocuments:!1};class xr{operations;trxId;constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;this.operations=e,this.trxId=t}create(e){return Ri("create",e),this._add({create:e})}createIfNotExists(e){const t="createIfNotExists";return Ri(t,e),qi(t,e),this._add({[t]:e})}createOrReplace(e){const t="createOrReplace";return Ri(t,e),qi(t,e),this._add({[t]:e})}delete(e){return Li("delete",e),this._add({delete:{id:e}})}transactionId(e){return e?(this.trxId=e,this):this.trxId}serialize(){return[...this.operations]}toJSON(){return this.serialize()}reset(){return this.operations=[],this}_add(e){return this.operations.push(e),this}}class vr extends xr{#o;constructor(e,t,s){super(e,s),this.#o=t}clone(){return new vr([...this.operations],this.#o,this.trxId)}commit(e){if(!this.#o)throw new Error("No `client` passed to transaction, either provide one or pass the transaction to a clients `mutate()` method");return this.#o.mutate(this.serialize(),Object.assign({transactionId:this.trxId},yr,e||{}))}patch(e,t){const s="function"==typeof t,n="object"==typeof e&&("query"in e||"id"in e);if("string"!=typeof e&&e instanceof gr)return this._add({patch:e.serialize()});if(s){const s=t(new gr(e,{},this.#o));if(!(s instanceof gr))throw new Error("function passed to `patch()` must return the patch");return this._add({patch:s.serialize()})}if(n){const s=new gr(e,t||{},this.#o);return this._add({patch:s.serialize()})}return this._add({patch:{id:e,...t}})}}class jr extends xr{#o;constructor(e,t,s){super(e,s),this.#o=t}clone(){return new jr([...this.operations],this.#o,this.trxId)}commit(e){if(!this.#o)throw new Error("No `client` passed to transaction, either provide one or pass the transaction to a clients `mutate()` method");return this.#o.mutate(this.serialize(),Object.assign({transactionId:this.trxId},yr,e||{}))}patch(e,t){const s="function"==typeof t;if("string"!=typeof e&&e instanceof fr)return this._add({patch:e.serialize()});if(s){const s=t(new fr(e,{},this.#o));if(!(s instanceof fr))throw new Error("function passed to `patch()` must return the patch");return this._add({patch:s.serialize()})}return this._add({patch:{id:e,...t}})}}const wr=e=>{let{query:t,params:s={},options:n={}}=e;const i=new URLSearchParams,{tag:r,includeMutations:a,returnQuery:o,...l}=n;r&&i.append("tag",r),i.append("query",t);for(const[c,d]of Object.entries(s))void 0!==d&&i.append(`$${c}`,JSON.stringify(d));for(const[c,d]of Object.entries(l))d&&i.append(c,`${d}`);return!1===o&&i.append("returnQuery","false"),!1===a&&i.append("includeMutations","fal
2se"),`?${i}`},br=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{dryRun:e.dryRun,returnIds:!0,returnDocuments:(t=e.returnDocuments,s=!0,!1===t?void 0:typeof t>"u"?s:t),visibility:e.visibility||"sync",autoGenerateArrayKeys:e.autoGenerateArrayKeys,skipCrossDatasetReferenceValidation:e.skipCrossDatasetReferenceValidation};var t,s},Sr=e=>"response"===e.type,kr=e=>e.body;function Nr(e,t,n,i){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const o="stega"in a?{...n||{},..."boolean"==typeof a.stega?{enabled:a.stega}:a.stega||{}}:n,l=o.enabled?(0,ti.Q)(r):r,c=!1===a.filterResponse?e=>e:e=>e.result,{cache:d,next:u,...h}={useAbortSignal:typeof a.signal<"u",resultSourceMap:o.enabled?"withKeyArraySelector":a.resultSourceMap,...a,returnQuery:!1===a.filterResponse&&!1!==a.returnQuery},p=Lr(e,t,"query",{query:i,params:l},typeof d<"u"||typeof u<"u"?{...h,fetch:{cache:d,next:u}}:h);return o.enabled?p.pipe(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return oi.apply(void 0,Ns([],ks(e)))}(Mn(s.e(796).then(s.bind(s,796)).then((function(e){return e.stegaEncodeSourceMap$1})).then((e=>{let{stegaEncodeSourceMap:t}=e;return t})))),Tn((e=>{let[t,s]=e;const n=s(t.result,t.resultSourceMap,o);return c({...t,result:n})}))):p.pipe(Tn(c))}function Ar(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Wr(e,t,{uri:Zr(e,"doc",(()=>{if(!n.releaseId)return s;const e=fi(s);if(!e){if(hi(s))throw new Error(`The document ID (\`${s}\`) is a draft, but \`options.releaseId\` is set as \`${n.releaseId}\``);return mi(s,n.releaseId)}if(e!==n.releaseId)throw new Error(`The document ID (\`${s}\`) is already a version of \`${e}\` release, but this does not match the provided \`options.releaseId\` (\`${n.releaseId}\`)`);return s})()),json:!0,tag:n.tag,signal:n.signal}).pipe(li(Sr),Tn((e=>e.body.documents&&e.body.documents[0])))}function _r(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Wr(e,t,{uri:Zr(e,"doc",s.join(",")),json:!0,tag:n.tag,signal:n.signal}).pipe(li(Sr),Tn((e=>{const t=(n=e.body.documents||[],i=e=>e._id,n.reduce(((e,t)=>(e[i(t)]=t,e)),Object.create(null)));var n,i;return s.map((e=>t[e]||null))})))}function Mr(e,t,s){return Lr(e,t,"query",{query:"*[sanity::partOfRelease($releaseId)]",params:{releaseId:s}},arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})}function Cr(e,t,s,n){return qi("createIfNotExists",s),qr(e,t,s,"createIfNotExists",n)}function Tr(e,t,s,n){return qi("createOrReplace",s),qr(e,t,s,"createOrReplace",n)}function Er(e,t,s,n,i){return qi("createVersion",s),zi("createVersion",s),Rr(e,t,{actionType:"sanity.action.document.version.create",publishedId:n,document:s},i)}function Ir(e,t,s,n){return Lr(e,t,"mutate",{mutations:[{delete:pr(s)}]},n)}function Pr(e,t,s){return Rr(e,t,{actionType:"sanity.action.document.version.discard",versionId:s,purge:arguments.length>3&&void 0!==arguments[3]&&arguments[3]},arguments.length>4?arguments[4]:void 0)}function Dr(e,t,s,n){return qi("replaceVersion",s),zi("replaceVersion",s),Rr(e,t,{actionType:"sanity.action.document.version.replace",document:s},n)}function Fr(e,t,s,n,i){return Rr(e,t,{actionType:"sanity.action.document.version.unpublish",versionId:s,publishedId:n},i)}function Or(e,t,s,n){let i;i=s instanceof gr||s instanceof fr?{patch:s.serialize()}:s instanceof vr||s instanceof jr?s.serialize():s;return Lr(e,t,"mutate",{mutations:Array.isArray(i)?i:[i],transactionId:n&&n.transactionId||void 0},n)}function Rr(e,t,s,n){return Lr(e,t,"actions",{actions:Array.isArray(s)?s:[s],transactionId:n&&n.transactionId||void 0,skipCrossDatasetReferenceValidation:n&&n.skipCrossDatasetReferenceValidation||void 0,dryRun:n&&n.dryRun||void 0},n)}function Lr(e,t,s,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const r="mutate"===s,a="actions"===s,o="query"===s,l=r||a?"":wr(n),c=!r&&!a&&l.length<11264,d=c?l:"",u=i.returnFirst,{timeout:h,token:p,tag:m,headers:f,returnQuery:g,lastLiveEventId:y,cacheMode:x}=i;return Wr(e,t,{method:c?"GET":"POST",uri:Zr(e,s,d),json:!0,body:c?void 0:n,query:r&&br(i),timeout:h,headers:f,token:p,tag:m,returnQuery:g,perspective:i.perspective,resultSourceMap:i.resultSourceMap,lastLiveEventId:Array.isArray(y)?y[0]:y,cacheMode:x,canUseCdn:o,signal:i.signal,fetch:i.fetch,useAbortSignal:i.useAbortSignal,useCdn:i.useCdn}).pipe(li(Sr),Tn(kr),Tn((e=>{if(!r)return e;const t=e.results||[];if(i.returnDocuments)return u?t[0]&&t[0].document:t.map((e=>e.document));const s=u?"documentId":"documentIds",n=u?t[0]&&t[0].id:t.map((e=>e.id));return{transactionId:e.transactionId,results:t,[s]:n}})))}function qr(e,t,s,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return Lr(e,t,"mutate",{mutations:[{[n]:s}]},Object.assign({returnFirst:!0,returnDocuments:!0},i))}const zr=e=>void 0!==e.config().dataset&&void 0!==e.config().projectId||void 0!==e.config()["~experimental_resource"],Ur=(e,t)=>
2zr(e)&&t.startsWith(Zr(e,"query")),Br=(e,t)=>t.startsWith("/data/")||Ur(e,t)||((e,t)=>zr(e)&&t.startsWith(Zr(e,"mutate")))(e,t)||((e,t)=>zr(e)&&t.startsWith(Zr(e,"doc","")))(e,t)||((e,t)=>zr(e)&&t.startsWith(Zr(e,"listen")))(e,t)||((e,t)=>zr(e)&&t.startsWith(Zr(e,"history","")))(e,t);function Wr(e,t,s){const n=s.url||s.uri,i=e.config(),r=typeof s.canUseCdn>"u"?["GET","HEAD"].indexOf(s.method||"GET")>=0&&Br(e,n):s.canUseCdn;let a=(s.useCdn??i.useCdn)&&r;const o=s.tag&&i.requestTagPrefix?[i.requestTagPrefix,s.tag].join("."):s.tag||i.requestTagPrefix;if(o&&null!==s.tag&&(s.query={tag:Bi(o),...s.query}),["GET","HEAD","POST"].indexOf(s.method||"GET")>=0&&Ur(e,n)){const e=s.resultSourceMap??i.resultSourceMap;void 0!==e&&!1!==e&&(s.query={resultSourceMap:e,...s.query});const t=s.perspective||i.perspective;typeof t<"u"&&("previewDrafts"===t&&Yi(),sr(t),s.query={perspective:Array.isArray(t)?t.join(","):t,...s.query},(Array.isArray(t)&&t.length>0||"previewDrafts"===t||"drafts"===t)&&a&&(a=!1,Vi())),s.lastLiveEventId&&(s.query={...s.query,lastLiveEventId:s.lastLiveEventId}),!1===s.returnQuery&&(s.query={returnQuery:"false",...s.query}),a&&"noStale"==s.cacheMode&&(s.query={cacheMode:"noStale",...s.query})}const l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s={};e.headers&&Object.assign(s,e.headers);const n=t.token||e.token;n&&(s.Authorization=`Bearer ${n}`),!t.useGlobalApi&&!e.useProjectHostname&&e.projectId&&(s["X-Sanity-Project-ID"]=e.projectId);const i=!!(typeof t.withCredentials>"u"?e.withCredentials:t.withCredentials),r=typeof t.timeout>"u"?e.timeout:t.timeout;return Object.assign({},t,{headers:Object.assign({},s,t.headers||{}),timeout:typeof r>"u"?3e5:r,proxy:t.proxy||e.proxy,json:!0,withCredentials:i,fetch:"object"==typeof t.fetch&&"object"==typeof e.fetch?{...e.fetch,...t.fetch}:t.fetch||e.fetch})}(i,Object.assign({},s,{url:$r(e,n,a)})),c=new sn((e=>t(l,i.requester).subscribe(e)));return s.signal?c.pipe((d=s.signal,e=>new sn((t=>{const s=()=>t.error(function(e){if(Gr)return new DOMException(e?.reason??"The operation was aborted.","AbortError");const t=new Error(e?.reason??"The operation was aborted.");return t.name="AbortError",t}(d));if(d&&d.aborted)return void s();const n=e.subscribe(t);return d.addEventListener("abort",s),()=>{d.removeEventListener("abort",s),n.unsubscribe()}})))):c;var d}function Hr(e,t,s){return Wr(e,t,s).pipe(li((e=>"response"===e.type)),Tn((e=>e.body)))}function Zr(e,t,s){const n=e.config();if(n["~experimental_resource"]){Wi(n);return`${Vr(n)}/${void 0!==s?`${t}/${s}`:t}`.replace(/\/($|\?)/,"$1")}const i=`/${t}/${Ui(n)}`;return`/data${void 0!==s?`${i}/${s}`:i}`.replace(/\/($|\?)/,"$1")}function $r(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{url:n,cdnUrl:i}=e.config();return`${s?i:n}/${t.replace(/^\//,"")}`}const Gr=!!globalThis.DOMException;const Vr=e=>{if(!e["~experimental_resource"])throw new Error("`resource` must be provided to perform resource queries");const{type:t,id:s}=e["~experimental_resource"];switch(t){case"dataset":{const e=s.split(".");if(2!==e.length)throw new Error('Dataset ID must be in the format "project.dataset"');return`/projects/${e[0]}/datasets/${e[1]}`}case"canvas":return`/canvases/${s}`;case"media-library":return`/media-libraries/${s}`;case"dashboard":return`/dashboards/${s}`;default:throw new Error(`Unsupported resource type: ${t.toString()}`)}};function Yr(e,t,s){const n=Ui(e.config());return Hr(e,t,{method:"POST",uri:`/agent/action/generate/${n}`,body:s})}function Kr(e,t,s){const n=Ui(e.config());return Hr(e,t,{method:"POST",uri:`/agent/action/transform/${n}`,body:s})}function Qr(e,t,s){const n=Ui(e.config());return Hr(e,t,{method:"POST",uri:`/agent/action/translate/${n}`,body:s})}class Xr{#o;#l;constructor(e,t){this.#o=e,this.#l=t}generate(e){return Yr(this.#o,this.#l,e)}transform(e){return Kr(this.#o,this.#l,e)}translate(e){return Qr(this.#o,this.#l,e)}}class Jr{#o;#l;constructor(e,t){this.#o=e,this.#l=t}generate(e){return Pn(Yr(this.#o,this.#l,e))}transform(e){return Pn(Kr(this.#o,this.#l,e))}translate(e){return Pn(Qr(this.#o,this.#l,e))}prompt(e){return Pn(function(e,t,s){const n=Ui(e.config());return Hr(e,t,{method:"POST",uri:`/agent/action/prompt/${n}`,body:s})}(this.#o,this.#l,e))}patch(e){return Pn(function(e,t,s){const n=Ui(e.config());return Hr(e,t,{method:"POST",uri:`/agent/action/patch/${n}`,body:s})}(this.#o,this.#l,e))}}class ea{#o;#l;constructor(e,t){this.#o=e,this.#l=t}upload(e,t,s){return sa(this.#o,this.#l,e,t,s)}}class ta{#o;#l;constructor(e,t){this.#o=e,this.#l=t}upload(e,t,s){return Pn(sa(this.#o,this.#l,e,t,s).pipe(li((e=>"response"===e.type)),Tn((e=>e.body.document))))}}function sa(e,t,s,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};(e=>{if(-1===Di.indexOf(e))throw new Error(`Invalid asset type: ${e}. Must be one of ${Di.join(", ")}`)})(s);let r=i.extract||void 0;r&&!r.length&&(r=["none"]);const a=e.config(),o=function(e,t){return typeof File>"u"||!(t instanceof File)?e:Object.assign({filename:!1===e.preserveFilename?void 0:t.name,contentType:t.type},e)}(i,n),{tag:l,label:c,title:d,description:u,creditLine:h,filename:p,source:m}=o,f={label:c,title:d,description:u,filename:p,meta:r,creditLine:h};return m&&(f.sourceId=m.id,f.sourceName=m.name,f.sourceUrl=m.url),Wr(e,t,{tag:l,method:"POST",timeout:o.timeout||0,uri:na(a,s),headers:o.contentType?{"Content-Type":o.contentType}:{},query:f,body:n})}function na(e,t){const s="image"===t?"images":"files";if(e["~experimental_resource"]){const{type:t,id:n}=e["~experimental_resource"];switch(t){case"dataset":throw new Error("Assets are not supported for dataset resources, yet. Configure the client with `{projectId: <projectId>, dataset: <datasetId>}` instead.");case"canvas":return`/canvases/${n}/assets/${s}`;case"media-library":return`/media-libraries/${n}/upload`;case"dashboard":return`/dashboards/${n}/assets/${s}`;default:throw new Error(`Unsupported resource type: ${t.toString()}`)}}return`assets/${s}/${Ui(e)}`}const ia=gn((()=>s.e(165).then(s.t.bind(s,165,19)))).pipe(Tn((e=>{let{default:t}=e;return t})),function(e,t,s){var n,i,r,a,o=!1;return e&&"object"===typeof e?(n=e.bufferSize,a=void 0===n?1/0:n,i=e.windowTime,t=void 0===i?1/0:i,o=void 0!==(r=e.refCount)&&r,s=e.scheduler):a=null!==e&&void 0!==e?e:1/0,qn({connector:function(){return new Ln(a,t,s)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:o})}(1));function ra(){return function(e){return e.pipe(Un(((e,t)=>e instanceof ir?Wn(Cn({type:"reconnect"}),Yn(1e3).pipe(En((()=>t)))):Kn((()=>e)))))}}const aa=["includePreviousRevision","includeResult","includeMutations","includeAllVersions","visibility","effectFormat","tag"],oa={includeResult:!0};function la(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{url:n,token:i,withCredentials:r,requestTagPrefix:a,headers:o}=this.config(),l=s.tag&&a?[a,s.tag].join("."):s.tag,c={...(h=s,p=oa,Object.keys(p).concat(Object.keys(h)).reduce(((e,t)=>(e[t]=typeof h[t]>"u"?p[t]:h[t],e)),{})),tag:l},d=((e,t)=>t.reduce(((t,s)=>(typeof e[s]>"u"||(t[s]=e[s]),t)),{}))(c,aa),u=`${n}${Zr(this,"listen",wr({query:e,params:t,options:{tag:l,...d}}))}`;var h,p;if(u.length>14800)return Kn((()=>new Error("Query too large for listener")));const m=c.events?c.events:["mutation"],f={};return r&&(f.withCredentials=!0),(i||o)&&(f.headers={},i&&(f.headers.Authorization=`Bearer ${i}`),o&&Object.assign(f.headers,o)),dr((()=>(typeof EventSource>"u"||f.headers?ia:Cn(EventSource)).pipe(Tn((e=>new e(u,f))))),m).pipe(ra(),li((e=>m.includes(e.type))),Tn((e=>({type:e.type,..."data"in e?e.data:{}}))))}function ca(e,t){return function(e){return t=>{let s,n=!1;const{predicate:i,...r}=e,a=t.pipe(function(e,t,s){var n=Cs(e)||t||s?{next:e,error:t,complete:s}:e;return n?wn((function(e,t){var s;null===(s=n.subscribe)||void 0===s||s.call(n);var i=!0;e.subscribe(bn(t,(function(e){var s;null===(s=n.next)||void 0===s||s.call(n,e),t.next(e)}),(function(){var e;i=!1,null===(e=n.complete)||void 0===e||e.call(n),t.complete()}),(function(e){var s;i=!1,null===(s=n.error)||void 0===s||s.call(n,e),t.error(e)}),(function(){var e,t;i&&(null===(e=n.unsubscribe)||void 0===e||e.call(n)),null===(t=n.finalize)||void 0===t||t.call(n)})))})):en}((t=>{e.predicate(t)&&(n=!0,s=t)})),Qn((()=>{n=!1,s=void 0})),qn(r));return Jn(a,new sn((e=>{n&&e.next(s),e.complete()}
2)))}}("function"==typeof e?{predicate:e,...t}:e)}const da="2021-03-25";class ua{#o;constructor(e){this.#o=e}events(){let{includeDrafts:e=!1,tag:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Hi("live",this.#o.config());const{projectId:s,apiVersion:n,token:i,withCredentials:r,requestTagPrefix:a,headers:o}=this.#o.config(),l=n.replace(/^v/,"");if("X"!==l&&l<da)throw new Error(`The live events API requires API version ${da} or later. The current API version is ${l}. Please update your API version to use this feature.`);if(e&&!i&&!r)throw new Error("The live events API requires a token or withCredentials when 'includeDrafts: true'. Please update your client configuration. The token should have the lowest possible access role.");const c=Zr(this.#o,"live/events"),d=new URL(this.#o.getUrl(c,!1)),u=t&&a?[a,t].join("."):t;u&&d.searchParams.set("tag",u),e&&d.searchParams.set("includeDrafts","true");const h={};e&&r&&(h.withCredentials=!0),(e&&i||o)&&(h.headers={},e&&i&&(h.headers.Authorization=`Bearer ${i}`),o&&Object.assign(h.headers,o));const p=`${d.href}::${JSON.stringify(h)}`,m=ha.get(p);if(m)return m;const f=dr((()=>(typeof EventSource>"u"||h.headers?ia:Cn(EventSource)).pipe(Tn((e=>new e(d.href,h))))),["message","restart","welcome","reconnect","goaway"]).pipe(ra(),Tn((e=>{if("message"===e.type){const{data:t,...s}=e;return{...s,tags:t.tags}}return e}))),g=function(e,t){return new sn((s=>{const n=new AbortController,i=n.signal;return fetch(e,{...t,signal:n.signal}).then((e=>{s.next(e),s.complete()}),(e=>{i.aborted||s.error(e)})),()=>n.abort()}))}(d,{method:"OPTIONS",mode:"cors",credentials:h.withCredentials?"include":"omit",headers:h.headers}).pipe(En((()=>Xn)),Un((()=>{throw new Mi({projectId:s})}))),y=Wn(g,f).pipe(Qn((()=>ha.delete(p))),ca({predicate:e=>"welcome"===e.type}));return ha.set(p,y),y}}const ha=new Map;class pa{#o;#l;constructor(e,t){this.#o=e,this.#l=t}create(e,t){return fa(this.#o,this.#l,"PUT",e,t)}edit(e,t){return fa(this.#o,this.#l,"PATCH",e,t)}delete(e){return fa(this.#o,this.#l,"DELETE",e)}list(){return Hr(this.#o,this.#l,{uri:"/datasets",tag:null})}}class ma{#o;#l;constructor(e,t){this.#o=e,this.#l=t}create(e,t){return Hi("dataset",this.#o.config()),Pn(fa(this.#o,this.#l,"PUT",e,t))}edit(e,t){return Hi("dataset",this.#o.config()),Pn(fa(this.#o,this.#l,"PATCH",e,t))}delete(e){return Hi("dataset",this.#o.config()),Pn(fa(this.#o,this.#l,"DELETE",e))}list(){return Hi("dataset",this.#o.config()),Pn(Hr(this.#o,this.#l,{uri:"/datasets",tag:null}))}}function fa(e,t,s,n,i){return Hi("dataset",e.config()),Oi(n),Hr(e,t,{method:s,uri:`/datasets/${n}`,body:i,tag:null})}class ga{#o;#l;constructor(e,t){this.#o=e,this.#l=t}list(e){Hi("projects",this.#o.config());const t=!1===e?.includeMembers?"/projects?includeMembers=false":"/projects";return Hr(this.#o,this.#l,{uri:t})}getById(e){return Hi("projects",this.#o.config()),Hr(this.#o,this.#l,{uri:`/projects/${e}`})}}class ya{#o;#l;constructor(e,t){this.#o=e,this.#l=t}list(e){Hi("projects",this.#o.config());const t=!1===e?.includeMembers?"/projects?includeMembers=false":"/projects";return Pn(Hr(this.#o,this.#l,{uri:t}))}getById(e){return Hi("projects",this.#o.config()),Pn(Hr(this.#o,this.#l,{uri:`/projects/${e}`}))}}const xa=function(e){return((e,t,s)=>{let n=(2<<Math.log(e.length-1)/Math.LN2)-1,i=-~(1.6*n*t/e.length);return function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t,a="";for(;;){let t=s(i),o=0|i;for(;o--;)if(a+=e[t[o]&n]||"",a.length===r)return a}}})(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:21,yi)}("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",8),va=(e,t)=>t?mi(e,t):function(e){if(pi(e)){const t=gi(e);return di+t}return hi(e)?e:di+e}(e);function ja(e,t){let{releaseId:s,publishedId:n,document:i}=t;if(n&&i._id){const e=va(n,s);return((e,t)=>{if(t._id&&t._id!==e)throw new Error(`The provided document ID (\`${t._id}\`) does not match the generated version ID (\`${e}\`)`)})(e,i),e}if(i._id){const t=hi(i._id),n=pi(i._id);if(!t&&!n)throw new Error(`\`${e}()\` requires a document with an \`_id\` that is a version or draft ID`);if(s){if(t)throw new Error(`\`${e}()\` was called with a document ID (\`${i._id}\`) that is a draft ID, but a release ID (\`${s}\`) was also provided.`);const n=fi(i._id);if(n!==s)throw new Error(`\`${e}()\` was called with a document ID (\`${i._id}\`) that is a version ID, but the release ID (\`${s}\`) does not match the document's version ID (\`${n}\`).`)}return i._id}if(n)return va(n,s);throw new Error(`\`${e}()\` requires either a publishedId or a document with an \`_id\``)}const wa=(e,t)=>{const[s,n,i]=((e,t)=>{if("object"==typeof e&&null!==e&&("releaseId"in e||"metadata"in e)){const{releaseId:s=xa(),metadata:n={}}=e;return[s,n,t]}return[xa(),{},e]})(e,t);return{action:{actionType:"sanity.action.release.create",releaseId:s,metadata:{...n,releaseType:n.releaseType||"undecided"}},options:i}};class ba{#o;#l;constructor(e,t){this.#o=e,this.#l=t}get(e,t){let{releaseId:s}=e;return Ar(this.#o,this.#l,`_.releases.${s}`,t)}create(e,t){const{action:s,options:n}=wa(e,t),{releaseId:i,metadata:r}=s;return Rr(this.#o,this.#l,s,n).pipe(Tn((e=>({...e,releaseId:i,metadata:r}))))}edit(e,t){let{releaseId:s,patch:n}=e;const i={actionType:"sanity.action.release.edit",releaseId:s,patch:n};return Rr(this.#o,this.#l,i,t)}publish(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.publish",releaseId:s};return Rr(this.#o,this.#l,n,t)}archive(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.archive",releaseId:s};return Rr(this.#o,this.#l,n,t)}unarchive(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.unarchive",releaseId:s};return Rr(this.#o,this.#l,n,t)}schedule(e,t){let{releaseId:s,publishAt:n}=e;const i={actionType:"sanity.action.release.schedule",releaseId:s,publishAt:n};return Rr(this.#o,this.#l,i,t)}unschedule(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.unschedule",releaseId:s};return Rr(this.#o,this.#l,n,t)}delete(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.delete",releaseId:s};return Rr(this.#o,this.#l,n,t)}fetchDocuments(e,t){let{releaseId:s}=e;return Mr(this.#o,this.#l,s,t)}}class Sa{#o;#l;constructor(e,t){this.#o=e,this.#l=t}get(e,t){let{releaseId:s}=e;return Pn(Ar(this.#o,this.#l,`_.releases.${s}`,t))}async create(e,t){const{action:s,options:n}=wa(e,t),{releaseId:i,metadata:r}=s;return{...await Pn(Rr(this.#o,this.#l,s,n)),releaseId:i,metadata:r}}edit(e,t){let{releaseId:s,patch:n}=e;const i={actionType:"sanity.action.release.edit",releaseId:s,patch:n};return Pn(Rr(this.#o,this.#l,i,t))}publish(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.publish",releaseId:s};return Pn(Rr(this.#o,this.#l,n,t))}archive(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.archive",releaseId:s};return Pn(Rr(this.#o,this.#l,n,t))}unarchive(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.unarchive",releaseId:s};return Pn(Rr(this.#o,this.#l,n,t))}schedule(e,t){let{releaseId:s,publishAt:n}=e;const i={actionType:"sanity.action.release.schedule",releaseId:s,publishAt:n};return Pn(Rr(this.#o,this.#l,i,t))}unschedule(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.unschedule",releaseId:s};return Pn(Rr(this.#o,this.#l,n,t))}delete(e,t){let{releaseId:s}=e;const n={actionType:"sanity.action.release.delete",releaseId:s};return Pn(Rr(this.#o,this.#l,n,t))}fetchDocuments(e,t){let{releaseId:s}=e;return Pn(Mr(this.#o,this.#l,s,t))}}class ka{#o;#l;constructor(e,t){this.#o=e,this.#l=t}getById(e){return Hr(this.#o,this.#l,{uri:`/users/${e}`})}}class Na{#o;#l;constructor(e,t){this.#o=e,this.#l=t}getById(e){return Pn(Hr(this.#o,this.#l,{uri:`/users/${e}`}))}}class Aa{assets;datasets;live;projects;users;agent;releases;#c;#l;listen=(()=>la)();constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:er;this.config(t),this.#l=e,this.assets=new ea(this,this.#l),this.datasets=new pa(this,this.#l),this.live=new ua(this),this.projects=new ga(this,this.#l),this.users=new ka(this,this.#l),this.agent={action:new Xr(this,this.#l)},this.releases=new ba(this,this.#l)}clone(){return new Aa(this.#l,this.config())}config(e){if(void 0===e)return{...this.#c};if(this.#c&&!1===this.#c.allowReconfigure)throw new Error("Existing client instance cannot be reconfigured - use `withConfig(newConfig)` to return a new client");return this.#c=nr(e,this.#c||{}),this}withConfig(e){const t=this.config();return new Aa(this.#l,{...t,...e,stega:{...t.stega||{},..."boolean"==typeof e?.stega?{enabled:e.stega}:e?.stega||{}}})}fetch(e,t,s){return Nr(this,this.#l,this.#c.stega,e,t,s)}getDocument(e,t){return Ar(this,this.#l,e,t)}getDocuments(e,t){return _r(this,this.#l,e,t)}create(e,t){return qr(this,this.#l,e,"create",t)}createIfNotExists(e,t){return Cr(this,this.#l,e,t)}createOrReplace(e,t){return Tr(this,this.#l,e,t)}createVersion(e,t){let{document:s,publishedId:n,releaseId:i}=e;const r=ja("createVersion",{document:s,publishedId:n,releaseId:i}),a={...s,_id:r},o=n||gi(s._id);return Er(this,this.#l,a,o,t)}delete(e,t){return Ir(this,this.#l,e,t)}discardVersion(e,t,s){let{releaseId:n,publishedId:i}=e;const r=va(i,n);return Pr(this,this.#l,r,t,s)}replaceVersion(e,t){let{document:s,publishedId:n,releaseId:i}=e;const r=ja("replaceVersion",{document:s,publishedId:n,releaseId:i}),a={...s,_id:r};return Dr(this,this.#l,a,t)}unpublishVersion(e,t){let{releaseId:s,publishedId:n}=e;const i=mi(n,s);return Fr(this,this.#l,i,n,t)}mutate(e,t){return Or(this,this.#l,e,t)}patch(e,t){return new fr(e,t,this)}transaction(e){return new jr(e,this)}action(e,t){return Rr(this,this.#l,e,t)}request(e){return Hr(this,this.#l,e)}getUrl(e,t){return $r(this,e,t)}getDataUrl(e,t){return Zr(this,e,t)}}class _a{assets;datasets;live;projects;users;agent;releases;observable;#c;#l;listen=(()=>la)();constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:er;this.config(t),this.#l=e,this.assets=new ta(this,this.#l),this.datasets=new ma(this,this.#l),this.live=new ua(this),this.projects=new ya(this,this.#l),this.users=new Na(this,this.#l),this.agent={action:new Jr(this,this.#l)},this.releases=new Sa(this,this.#l),this.observable=new Aa(e,t)}clone(){return new _a(this.#l,this.config())}config(e){if(void 0===e)return{...this.#c};if(this.#c&&!1===this.#c.allowReconfigure)throw new Error("Existing client instance cannot be reconfigured - use `withConfig(newConfig)` to return a new client");return this.observable&&this.observable.config(e),this.#c=nr(e,this.#c||{}),this}withConfig(e){const t=this.config();return new _a(this.#l,{...t,...e,stega:{...t.stega||{},..."boolean"==typeof e?.stega?{enabled:e.stega}:e?.stega||{}}})}fetch(e,t,s){return Pn(Nr(this,this.#l,this.#c.stega,e,t,s))}getDocument(e,t){return Pn(Ar(this,this.#l,e,t))}getDocuments(e,t){return Pn(_r(this,this.#l,e,t))}create(e,t){return Pn(qr(this,this.#l,e,"create",t))}createIfNotExists(e,t){return Pn(Cr(this,this.#l,e,t))}createOrReplace(e,t){return Pn(Tr(this,this.#l,e,t))}createVersion(e,t){let{document:s,publishedId:n,releaseId:i}=e;const r=ja("createVersion",{document:s,publishedId:n,releaseId:i}),a={...s,_id:r},o=n||gi(s._id);return ei(Er(this,this.#l,a,o,t))}delete(e,t){return Pn(Ir(this,this.#l,e,t))}discardVersion(e,t,s){let{releaseId:n,publishedId:i}=e;const r=va(i,n);return Pn(Pr(this,this.#l,r,t,s))}replaceVersion(e,t){let{document:s,publishedId:n,releaseId:i}=e;const r=ja("replaceVersion",{document:s,publishedId:n,releaseId:i}),a={...s,_id:r};return ei(Dr(this,this.#l,a,t))}unpublishVersion(e,t){let{releaseId:s,publishedId:n}=e;const i=mi(n,s);return Pn(Fr(this,this.#l,i,n,t))}mutate(e,t){return Pn(Or(this,this.#l,e,t))}patch(e,t){return new gr(e,t,this)}transaction(e){return new vr(e,this)}action(e,t){return Pn(Rr(this,this.#l,e,t))}request(e){return Pn(Hr(this,this.#l,e))}dataRequest(e,t,s){return Pn(Lr(this,this.#l,e,t,s))}getUrl(e,t){return $r(this,e,t)}getDataUrl(e,t){return Zr(this,e,t)}}const Ma=(Ia=_a,{requester:Ei(Ea=[]),createClient:e=>{const t=Ei(Ea);return new Ia(((s,n)=>(n||t)({maxRedirects:0,maxRetries:e.maxRetries,retryDelay:e.retryDelay,...s})),e)}}),Ca=Ma.createClient;Ta=Ca;var Ta,Ea,Ia,Pa=s(138),Da=s.n(Pa);const Fa=Ca({projectId:"4isryep1",dataset:"production",useCdn:!0,apiVersion:"2024-01-01"}),Oa=Da()(Fa),Ra=e=>Oa.image(e),La={getAllPosts:'*[_type == "blog" && defined(slug.current)] | order(publishedAt desc) {\n    _id,\n    title,\n    slug,\n    publishedAt,\n    mainImage,\n    excerpt,\n    metaTitle,\n    metaDescription,\n    "estimatedReadingTime": round(length(pt::text(body)) / 5 / 180 )\n  }',getPostBySlug:'*[_type == "blog" && slug.current == $slug][0] {\n    _id,\n    title,\n    slug,\n    publishedAt,\n    mainImage,\n    body,\n    excerpt,\n    metaTitle,\n    metaDescription,\n    "estimatedReadingTime": round(length(pt::text(body)) / 5 / 180 )\n  }',getRecentPosts:'*[_type == "blog" && defined(slug.current)] | order(publishedAt desc)[0...3] {\n    _id,\n    title,\n    slug,\n    publishedAt,\n    mainImage,\n    excerpt,\n    metaTitle,\n    metaDescription\n  }'},qa=()=>{const[t,s]=(0,e.useState)([]),[n,i]=(0,e.useState)(!0),[r,a]=(0,e.useState)(null);(0,e.useEffect)((()=>{(async()=>{try{i(!0);const e=await Fa.fetch(La.getAllPosts);s(e),a(null),"undefined"!==typeof window&&(window.prerenderReady=!0)}catch(e){console.error("Error fetching blog posts:",e),a("Failed to load blog posts. Please try again later.")}finally{i(!1)}})()}),[]);return n?(0,jt.jsx)("div",{className:"blog-list-container",children:(0,jt.jsxs)("div",{className:"blog-list-loading",children:[(0,jt.jsx)("div",{className:"loading-spinner"}),(0,jt.jsx)("p",{children:"Loading blog posts..."})]})}):r?(0,jt.jsx)("div",{className:"blog-list-container",children:(0,jt.jsxs)("div",{className:"blog-list-error",children:[(0,jt.jsx)("h2",{children:"Oops! Something went wrong"}),(0,jt.jsx)("p",{children:r})]})}):(0,jt.jsxs)("div",{className:"blog-list-container",children:[(0,jt.jsxs)("div",{className:"blog-list-header",children:[(0,jt.jsx)("h1",{children:"Latest Blog Posts"}),(0,jt.jsx)("p",{children:"Stay updated with the latest insights on SMS marketing and business communication."})]}),0===t.length?(0,jt.jsxs)("div",{className:"blog-list-empty",children:[(0,jt.jsx)("h2",{children:"No blog posts yet"}),(0,jt.jsx)("p",{children:"Check back soon for exciting content about SMS marketing and business growth!"})]}):(0,jt.jsx)("div",{className:"blog-list-grid",children:t.map((e=>{return(0,jt.jsx)("article",{className:"blog-card","data-aos":"fade-up",children:(0,jt.jsxs)(fe,{to:`/blog/${e.slug.current}`,className:"blog-card-link",children:[e.mainImage&&(0,jt.jsx)("div",{className:"blog-card-image",children:(0,jt.jsx)("img",{src:Ra(e.mainImage).width(400).height(250).url(),alt:e.title,loading:"lazy"})}),(0,jt.jsxs)("div",{className:"blog-card-content",children:[(0,jt.jsxs)("div",{className:"blog-card-meta",children:[(0,jt.jsx)("span",{className:"blog-card-date",children:(t=e.publishedAt,new Date(t).toLocaleDateString("en-AU",{year:"numeric",month:"long",day:"numeric"}))}),e.estimatedReadingTime&&(0,jt.jsxs)("span",{className:"blog-card-reading-time",children:[e.estimatedReadingTime," min read"]})]}),(0,jt.jsx)("h2",{className:"blog-card-title",children:e.title}),e.excerpt&&(0,jt.jsx)("p",{className:"blog-card-excerpt",children:e.excerpt}),(0,jt.jsx)("div",{className:"blog-card-read-more",children:"Read More \u2192"})]})]})},e._id);var t}))})]})},za=()=>{const[t,s]=(0,e.useState)(!1);return(0,e.useEffect)((()=>{const e=()=>s(window.scrollY>20);return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]),(0,jt.jsxs)("div",{className:"blog-view-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Blog - SMS Marketing Insights | DataFlows"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/blog")}),(0,jt.jsx)("meta",{name:"description",content:"Stay updated with the latest insights, tips, and trends in SMS marketing and business communication. Learn how to boost customer engagement and grow your business."}),(0,jt.jsx)("meta",{property:"og:title",content:"Blog - SMS Marketing Insights | DataFlows"}),(0,jt.jsx)("meta",{property:"og:description",content:"Stay updated with the latest insights, tips, and trends in SMS marketing and business communication."}),(0
2,jt.jsx)("meta",{property:"og:type",content:"website"}),(0,jt.jsx)("meta",{name:"keywords",content:"SMS marketing blog, business communication, customer engagement, marketing tips, SMS strategy"}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Blog",item:"https://dataflows.com.au/blog"}]})})]}),(0,jt.jsx)("nav",{className:"bpv-nav"+(t?" bpv-nav--scrolled":""),children:(0,jt.jsxs)("div",{className:"bpv-nav-inner",children:[(0,jt.jsx)(fe,{to:"/",className:"bpv-nav-logo",children:(0,jt.jsx)("img",{src:"/dataflows-high-resolution-logo-200h.png",alt:"DataFlows",height:"34"})}),(0,jt.jsxs)("div",{className:"bpv-nav-links",children:[(0,jt.jsx)("a",{href:"/#features",children:"Features"}),(0,jt.jsx)("a",{href:"/#pricing",children:"Pricing"}),(0,jt.jsx)(fe,{to:"/blog",children:"Blog"}),(0,jt.jsx)(St,{}),(0,jt.jsx)(fe,{to:"/contact-us",children:"Contact Us"})]}),(0,jt.jsxs)("div",{className:"bpv-nav-actions",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noreferrer noopener",className:"bpv-sign-in",children:"Sign in"}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"bpv-get-started",children:"Get started"})]})]})}),(0,jt.jsx)("main",{className:"blog-view-main",children:(0,jt.jsx)(qa,{})}),(0,jt.jsx)(bt,{})]})},Ua=/^https?:\/\/(www\.)?dataflows\.com\.au/i,Ba=t=>{const s={};return(t.markDefs||[]).forEach((e=>{e&&e._key&&(s[e._key]=e)})),(t.children||[]).filter((e=>e&&"string"===typeof e.text)).map(((t,n)=>{let i=t.text;const r=t.marks||[];r.forEach((e=>{"strong"===e?i=(0,jt.jsx)("strong",{children:i}):"em"===e?i=(0,jt.jsx)("em",{children:i}):"code"===e&&(i=(0,jt.jsx)("code",{children:i}))}));const a=r.map((e=>s[e])).find((e=>e&&"link"===e._type&&e.href));if(a){const e=a.href.startsWith("/")||Ua.test(a.href);i=e?(0,jt.jsx)(fe,{to:a.href.replace(Ua,"")||"/",className:"blog-post-link",children:i}):(0,jt.jsx)("a",{href:a.href,target:"_blank",rel:"noopener noreferrer",className:"blog-post-link",children:i})}return(0,jt.jsx)(e.Fragment,{children:i},t._key||n)}))},Wa=(e,t)=>{const s=Ba(e);switch(e.style){case"h1":return(0,jt.jsx)("h1",{className:"blog-post-h1",children:s},t);case"h2":return(0,jt.jsx)("h2",{className:"blog-post-h2",children:s},t);case"h3":return(0,jt.jsx)("h3",{className:"blog-post-h3",children:s},t);case"h4":return(0,jt.jsx)("h4",{className:"blog-post-h4",children:s},t);case"blockquote":return(0,jt.jsx)("blockquote",{className:"blog-post-blockquote",children:s},t);default:return(0,jt.jsx)("p",{className:"blog-post-paragraph",children:s},t)}},Ha=(e,t,s)=>{const n="number"===e[0].listItem?"ol":"ul",i=[];let r=0;for(;r<e.length;){const n=e[r],a=[];let o=r+1;for(;o<e.length&&(e[o].level||1)>t;)a.push(e[o++]);i.push((0,jt.jsxs)("li",{className:"blog-post-list-item",children:[Ba(n),a.length>0&&Ha(a,t+1,`${s}-${r}`)]},n._key||`${s}-${r}`)),r=o}return(0,jt.jsx)(n,{className:"blog-post-list",children:i},s)},Za=e=>{const t=[];let s=0;for(;s<e.length;){const n=e[s];if(n&&n._type)if("block"===n._type&&n.listItem){const n=[];for(;s<e.length&&e[s]&&"block"===e[s]._type&&e[s].listItem&&(0===n.length||(e[s].level||1)>1||e[s].listItem===n[0].listItem);)n.push(e[s++]);t.push(Ha(n,1,`list-${s}`))}else{if("block"===n._type&&Array.isArray(n.children)){const e=n.children.map((e=>e&&e.text||"")).join("");e.trim()&&t.push(Wa(n,n._key||s))}else if("table"===n._type&&Array.isArray(n.rows)&&n.rows.length>1){const[e,...i]=n.rows;t.push((0,jt.jsxs)("figure",{className:"blog-post-table-wrap",children:[(0,jt.jsxs)("table",{className:"blog-post-table",children:[(0,jt.jsx)("thead",{children:(0,jt.jsx)("tr",{children:(e.cells||[]).map(((e,t)=>(0,jt.jsx)("th",{scope:"col",children:e},t)))})}),(0,jt.jsx)("tbody",{children:i.map(((e,t)=>(0,jt.jsx)("tr",{children:(e.cells||[]).map(((e,t)=>0===t?(0,jt.jsx)("th",{scope:"row",children:e},t):(0,jt.jsx)("td",{children:e},t)))},e._key||t)))})]}),n.caption&&(0,jt.jsx)("figcaption",{className:"blog-post-table-caption",children:n.caption})]},n._key||s))}else"image"===n._type&&n.asset&&t.push((0,jt.jsxs)("div",{className:"blog-post-content-image",children:[(0,jt.jsx)("img",{src:Ra(n).width(800).url(),alt:n.alt||"Blog post image",loading:"lazy"}),n.caption&&(0,jt.jsx)("figcaption",{className:"blog-post-image-caption",children:n.caption})]},n._key||s));s++}else s++}
2return t},$a=()=>{const{slug:t}=le(),[s,n]=(0,e.useState)(null),[i,r]=(0,e.useState)(!0),[a,o]=(0,e.useState)(null);(0,e.useEffect)((()=>{t&&(async()=>{try{r(!0);const e=await Fa.fetch(La.getPostBySlug,{slug:t});if(!e)return void o("Blog post not found.");n(e),o(null),"undefined"!==typeof window&&(window.prerenderReady=!0)}catch(e){console.error("Error fetching blog post:",e),o("Failed to load blog post. Please try again later.")}finally{r(!1)}})()}),[t]);const l=()=>null!==s&&void 0!==s&&s.metaTitle?s.metaTitle:null!==s&&void 0!==s&&s.title?`${s.title} | DataFlows SMS`:"DataFlows SMS Blog",c=()=>null!==s&&void 0!==s&&s.metaDescription?s.metaDescription:null!==s&&void 0!==s&&s.excerpt?s.excerpt:"Read the latest insights and tips about SMS marketing for Australian businesses from DataFlows.",d=()=>`https://dataflows.com.au/blog/${t}`,u=()=>null!==s&&void 0!==s&&s.mainImage?Ra(s.mainImage).width(1200).height(630).url():"https://dataflows.com.au/dataflows-high-resolution-logo-200h.png";return i?(0,jt.jsx)("div",{className:"blog-post-container",children:(0,jt.jsxs)("div",{className:"blog-post-loading",children:[(0,jt.jsx)("div",{className:"loading-spinner"}),(0,jt.jsx)("p",{children:"Loading blog post..."})]})}):a||!s?(0,jt.jsxs)("div",{className:"blog-post-container",children:[(0,jt.jsx)(vt,{children:(0,jt.jsx)("meta",{name:"robots",content:"noindex, follow"})}),(0,jt.jsxs)("div",{className:"blog-post-error",children:[(0,jt.jsx)("h1",{children:"Oops! Something went wrong"}),(0,jt.jsx)("p",{children:a||"Blog post not found."}),(0,jt.jsx)(fe,{to:"/blog",className:"blog-post-back-button",children:"\u2190 Back to Blog"})]})]}):(0,jt.jsxs)("div",{className:"blog-post-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:l()}),(0,jt.jsx)("meta",{name:"description",content:c()}),(0,jt.jsx)("link",{rel:"canonical",href:d()}),(0,jt.jsx)("meta",{property:"og:title",content:l()}),(0,jt.jsx)("meta",{property:"og:description",content:c()}),(0,jt.jsx)("meta",{property:"og:image",content:u()}),(0,jt.jsx)("meta",{property:"og:url",content:d()}),(0,jt.jsx)("meta",{property:"og:type",content:"article"}),(0,jt.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,jt.jsx)("meta",{name:"twitter:title",content:l()}),(0,jt.jsx)("meta",{name:"twitter:description",content:c()}),(0,jt.jsx)("meta",{name:"twitter:image",content:u()}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BlogPosting",headline:null===s||void 0===s?void 0:s.title,description:c(),image:u(),url:d(),datePublished:null===s||void 0===s?void 0:s.publishedAt,dateModified:(null===s||void 0===s?void 0:s._updatedAt)||(null===s||void 0===s?void 0:s.publishedAt),author:{"@type":"Organization",name:"DataFlows",url:"https://dataflows.com.au"},publisher:{"@type":"Organization",name:"DataFlows",logo:{"@type":"ImageObject",url:"https://dataflows.com.au/dataflows-high-resolution-logo-200h.png"}},mainEntityOfPage:{"@type":"WebPage","@id":d()}})})]}),(0,jt.jsxs)("article",{className:"blog-post",children:[(0,jt.jsx)("nav",{className:"blog-post-nav",children:(0,jt.jsx)(fe,{to:"/blog",className:"blog-post-back-link",children:"\u2190 Back to Blog"})}),(0,jt.jsxs)("header",{className:"blog-post-header",children:[s.mainImage&&(0,jt.jsx)("div",{className:"blog-post-hero-image",children:(0,jt.jsx)("img",{src:Ra(s.mainImage).width(1200).height(600).url(),alt:s.title,loading:"eager"})}),(0,jt.jsxs)("div",{className:"blog-post-header-content",children:[(0,jt.jsxs)("div",{className:"blog-post-meta",children:[(0,jt.jsx)("time",{className:"blog-post-date",children:(h=s.publishedAt,new Date(h).toLocaleDateString("en-AU",{year:"numeric",month:"long",day:"numeric"}))}),s.estimatedReadingTime&&(0,jt.jsxs)("span",{className:"blog-post-reading-time",children:[s.estimatedReadingTime," min read"]})]}),(0,jt.jsx)("h1",{className:"blog-post-title",children:s.title}),s.excerpt&&(0,jt.jsx)("p",{className:"blog-post-excerpt",children:s.excerpt})]})]}),(0,jt.jsx)("div",{className:"blog-post-content",children:s.body&&Array.isArray(s.body)&&Za(s.body)}),(0,jt.jsxs)("footer",{className:"blog-post-footer",children:[(0,jt.jsxs)("div",{className:"blog-post-cta",children:[(0,jt.jsx)("h3",{children:"Ready to boost your business with SMS marketing?"}),(0,jt.jsx)("p",{children:"Join thousands of businesses using DataFlows to connect with their customers."}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noopener noreferrer",className:"blog-post-cta-button",children:"Get Started Today"})]}),(0,jt.jsx)(fe,{to:"/blog",className:"blog-post-back-button",children:"\u2190 Back to Blog"})]})]})]});var h},Ga=()=>{const{slug:t}=le(),[s,n]=(0,e.useState)(null),[i,r]=(0,e.useState)(!0),[a,o]=(0,e.useState)(!1);return(0,e.useEffect)((()=>{t&&(async()=>{try{r(!0);const e=await Fa.fetch(La.getPostBySlug,{slug:t});n(e)}catch(e){console.error("Error fetching blog post for SEO:",e),n(null)}finally{r(!1)}})()}),[t]),(0,e.useEffect)((()=>{const e=()=>o(window.scrollY>20);return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]),(0,jt.jsxs)("div",{className:"blog-post-view-container",children:[(0,jt.jsx)("nav",{className:"bpv-nav"+(a?" bpv-nav--scrolled":""),children:(0,jt.jsxs)("div",{className:"bpv-nav-inner",children:[(0,jt.jsx)(fe,{to:"/",className:"bpv-nav-logo",children:(0,jt.jsx)("img",{src:"/dataflows-high-resolution-logo-200h.png",alt:"DataFlows",height:"34"})}),(0,jt.jsxs)("div",{className:"bpv-nav-links",children:[(0,jt.jsx)("a",{href:"/#features",children:"Features"}),(0,jt.jsx)("a",{href:"/#pricing",children:"Pricing"}),(0,jt.jsx)(fe,{to:"/blog",children:"Blog"}),(0,jt.jsx)(St,{}),(0,jt.jsx)(fe,{to:"/contact-us",children:"Contact Us"})]}),(0,jt.jsxs)("div",{className:"bpv-nav-actions",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noreferrer noopener",className:"bpv-sign-in",children:"Sign in"}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"bpv-get-started",children:"Get started"})]})]})}),(0,jt.jsx)("main",{className:"blog-post-view-main",children:(0,jt.jsx)($a,{})}),(0,jt.jsx)(bt,{})]})},Va=e=>(0,jt.jsxs)("div",{className:"contact-us-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Contact Us - DataFlows SMS Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Contact the DataFlows support team for any issues or suggestions. We are here to help you with our SMS solutions."}),(0,jt.jsx)("link",{rel:"canonical",href:"https://dataflows.com.au/contact-us"}),(0,jt.jsx)("meta",{property:"og:title",content:"Contact Us - DataFlows SMS Australia"}),(0,jt.jsx)("meta",{property:"og:description",content:"Contact the DataFlows support team for any issues or suggestions. We are here to help you with our SMS solutions."})]}),(0,jt.jsx)(_t,{}),(0,jt.jsx)("div",{className:"contact-us-hero-section",children:(0,jt.jsxs)("div",{className:"contact-us-content",children:[(0,jt.jsx)("h1",{className:"contact-us-title",children:"Get in Touch"}),(0,jt.jsx)("p",{className:"contact-us-description",children:"Have a question, suggestion, or just want to say hello? We'd love to hear from you. Please contact the support teams for any issues or suggestions. We're here to help you!"})]})}),(0,jt.jsx)("div",{className:"contact-us-form-wrapper",children:(0,jt.jsx)(Tt,{})}),(0,jt.jsx)(bt,{})]}),Ya=e=>(0,jt.jsxs)("div",{className:"not-found-container1",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"404 - Page Not Found | DataFlows"}),(0,jt.jsx)("meta",{name:"robots",content:"noindex, follow"})]}),(0,jt.jsx)("h3",{children:"OOPS! PAGE NOT FOUND"}),(0,jt.jsx)("div",{className:"not-found-container2",children:(0,jt.jsx)("h1",{className:"not-found-text2",children:"404"})}),(0,jt.jsx)("div",{className:"not-found-container3",children:(0,jt.jsx)("h2",{className:"not-found-text3",children:"WE ARE SORRY, BUT THE PAGE YOU REQUESTED WAS NOT FOUND"})})]}),Ka=e=>{let{title:t,subtitle:s,description:n,primaryCta:i,secondaryCta:r,backgroundImage:a,className:o=""}=e;return(0,jt.jsxs)("section",{className:`integration-hero ${o}`,children:[(0,jt.jsxs)("div",{className:"integration-hero-background",children:[a&&(0,jt.jsx)("img",{src:a,alt:"",className:"integration-hero-bg-image",loading:"eager"}),(0,jt.jsx)("div",{className:"integration-hero-gradient"})]}),(0,jt.jsx)("div",{className:"integration-hero-content",children:(0,jt.jsxs)("div",{className:"integration-hero-center",children:[(0,jt.jsx)("h1",{className:"integration-hero-title","data-aos":"fade-up",children:t}),s&&(0,jt.jsx)("p",{className:"integration-hero-subtitle","data-aos":"fade-up","data-aos-delay":"100",children:s}),n&&(0,jt.jsx)("p",{className:"integration-hero-description","data-aos":"fade-up","data-aos-delay":"200",children:n}),(0,jt.jsxs)("div",{className:"integration-hero-actions","data-aos":"fade-up","data-aos-delay":"300",children:[i&&(0,jt.jsx)("a",{href:i.href,target:i.href.startsWith("http")?"_blank":void 0,rel:i.href.startsWith("http")?"noreferrer noopener":void 0,className:"integration-hero-cta primary",onClick:e=>{i.onClick&&i.onClick()},children:i.text}),r&&(0,jt.jsx)("a",{href:r.href,target:r.href.startsWith("http")?"_blank":void 0,rel:r.href.startsWith("http")?"noreferrer noopener":void 0,className:"integration-hero-cta secondary",children:r.text})]})]})})]})},Qa=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const n=function(e){"undefined"!==typeof gtag&&gtag("event",e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})},i={title:"DataFlows SMS for Microsoft Teams",subtitle:"Send & receive SMS inside your Teams channels",description:"Turn Microsoft Teams into a shared, two-way SMS inbox for your whole team. Assign virtual numbers to channels, reply from Teams, and track conversations with powerful dashboards and reports.",primaryCta:{text:"Install DataFlows for Teams",href:"https://appsource.microsoft.com/en-us
2/product/office/WA200009078?tab=Overview",onClick:()=>n("teams_install_clicked")},secondaryCta:{text:"Setup Guide",href:"/teams-setup-guide.html"}};return(0,jt.jsxs)("div",{className:"teams-integration-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"DataFlows SMS for Microsoft Teams \u2014 Send & Receive SMS in Teams"}),(0,jt.jsx)("meta",{name:"description",content:"Integrate DataFlows SMS with Microsoft Teams to send and receive SMS inside channels. Shared inboxes, virtual numbers, reporting, and fast onboarding."}),(0,jt.jsx)("meta",{name:"keywords",content:"Microsoft Teams SMS, Teams integration, business SMS, shared inbox, virtual numbers, team messaging"}),(0,jt.jsx)("meta",{property:"og:title",content:"DataFlows SMS for Microsoft Teams Integration"}),(0,jt.jsx)("meta",{property:"og:description",content:"Turn Microsoft Teams into a shared SMS inbox. Assign virtual numbers to channels and manage customer conversations as a team."}),(0,jt.jsx)("meta",{property:"og:image",content:"https://dataflows.com.au/images/integrations/teams/Dashboard.png"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/microsoft-teams")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"Microsoft Teams",item:"https://dataflows.com.au/integrations/microsoft-teams"}]})})]}),(0,jt.jsx)("div",{className:"teams-integration-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Microsoft Teams"}]})})}),(0,jt.jsx)(Ka,{...i}),(0,jt.jsx)("section",{className:"teams-dashboard-preview","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)("img",{src:"/images/integrations/teams/Dashboard.png",alt:"Complete SMS tracking dashboard showing Microsoft Teams channel integration with message threads and analytics",loading:"lazy",className:"dashboard-screenshot"})})}),(0,jt.jsx)("section",{className:"teams-video-demo","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"video-demo-content",children:[(0,jt.jsx)("h2",{className:"section-title",children:"See DataFlows Teams Integration in Action"}),(0,jt.jsx)("p",{className:"section-description",children:"Watch how seamlessly SMS messages integrate with your Teams workflow, from receiving customer messages to sending replies and tracking analytics."}),(0,jt.jsx)("div",{className:"video-wrapper",children:(0,jt.jsx)("iframe",{width:"560",height:"315",src:"https://www.youtube-nocookie.com/embed/HvghS2WY5-I?si=x1l_fKI9dQQ7OsIw&controls=0",title:"DataFlows Microsoft Teams Integration Demo",frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerPolicy:"strict-origin-when-cross-origin",allowFullScreen:!0,loading:"lazy"})})]})})}),(0,jt.jsx)("section",{className:"teams-features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Powerful Features for Team Collaboration"}),(0,jt.jsx)("p",{className:"section-description",children:"Everything you need to manage SMS communications effectively within Microsoft Teams"})]}),(0,jt.jsx)("div",{className:"features-grid",children:[{icon:"\ud83d\udcde",title:"Channel-level Virtual Numbers",description:"Assign dedicated virtual numbers to each Teams channel. This makes every channel a shared inbox where all messages are visible to the team. Numbers can be local or international, and administrators can manage which channels accept inbound messages."},{icon:"\ud83d\udcac",title:"Two-way Messaging & Threading",description:"Inbound messages are stored as threaded conversations in Teams; replies preserve continuity and maintain a single conversation per 
2contact. Messages support media attachments where permitted and retain full metadata for auditing."},{icon:"\ud83d\udcca",title:"Advanced Dashboard & Reporting",description:"Visualize message traffic with heatmaps, direction indicators (inbound/outbound), and per-channel stats. Filter by date range, export CSVs for compliance, and view cost summaries so finance teams can reconcile SMS spend accurately."},{icon:"\ud83c\udff7\ufe0f",title:"Sender ID & Brand Control",description:"Configure Sender IDs per channel (where regulations allow) to present a consistent brand identity. Validate numbers and track segmentation to ensure messages appear correctly across carriers."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"feature-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"feature-icon emoji-icon",style:{fontSize:"48px",width:"64px",height:"64px",display:"flex",alignItems:"center",justifyContent:"center"},children:e.icon}),(0,jt.jsx)("h3",{className:"feature-title",children:e.title}),(0,jt.jsx)("p",{className:"feature-description",children:e.description})]},t)))})]})}),(0,jt.jsx)("section",{className:"teams-screenshots",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{className:"section-title","data-aos":"fade-up",children:"How It Works in Practice"}),(0,jt.jsxs)("div",{className:"screenshot-grid",children:[(0,jt.jsxs)("div",{className:"screenshot-item","data-aos":"fade-right",children:[(0,jt.jsx)("img",{src:"/images/integrations/teams/Channel Inbound Receive.png",alt:"Receiving SMS messages in Microsoft Teams channel showing inbound message notifications",loading:"lazy",className:"screenshot-image"}),(0,jt.jsxs)("div",{className:"screenshot-content",children:[(0,jt.jsx)("h3",{children:"Receive Customer Messages"}),(0,jt.jsx)("p",{children:"Inbound SMS messages appear directly in your Teams channel with full sender details and message content. Team members get instant notifications and can view the complete conversation history."})]})]}),(0,jt.jsxs)("div",{className:"screenshot-item reverse","data-aos":"fade-left",children:[(0,jt.jsx)("img",{src:"/images/integrations/teams/Channel Reply outbound confirmation.png",alt:"SMS reply confirmation in Microsoft Teams showing successful message delivery",loading:"lazy",className:"screenshot-image"}),(0,jt.jsxs)("div",{className:"screenshot-content",children:[(0,jt.jsx)("h3",{children:"Send Replies with Confirmation"}),(0,jt.jsx)("p",{children:"Reply to SMS messages directly from Teams with instant delivery confirmation. Track message status, delivery time, and costs all within the Teams interface."})]})]}),(0,jt.jsxs)("div",{className:"screenshot-item","data-aos":"fade-right",children:[(0,jt.jsx)("img",{src:"/images/integrations/teams/Compose SMS from channel tab.png",alt:"Composing SMS messages from Microsoft Teams channel tab with recipient and sender ID selection",loading:"lazy",className:"screenshot-image"}),(0,jt.jsxs)("div",{className:"screenshot-content",children:[(0,jt.jsx)("h3",{children:"Compose New Messages"}),(0,jt.jsx)("p",{children:"Send new SMS messages to customers directly from Teams. Select your sender ID, choose recipients, and track character count with real-time cost estimation."})]})]}),(0,jt.jsxs)("div",{className:"screenshot-item reverse","data-aos":"fade-left",children:[(0,jt.jsx)("img",{src:"/images/integrations/teams/analytics.png",alt:"SMS analytics dashboard showing message statistics, delivery reports and CSV export options",loading:"lazy",className:"screenshot-image"}),(0,jt.jsxs)("div",{className:"screenshot-content",children:[(0,jt.jsx)("h3",{children:"Analytics & Reporting"}),(0,jt.jsx)("p",{children:"Access comprehensive SMS analytics with message statistics, delivery reports, and cost tracking. Export data to CSV for compliance and financial reporting."})]})]})]})]})}),(0,jt.jsx)("section",{className:"teams-mobile","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"mobile-content",children:[(0,jt.jsxs)("div",{className:"mobile-text","data-aos":"fade-right",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Seamless Mobile Experience"}),(0,jt.jsx)("p",{className:"section-description",children:"Take your SMS conversations on the go with Microsoft Teams mobile. Reply to customer messages, send new SMS, and track delivery status from anywhere."}),(0,jt.jsx)("ul",{className:"benefits-list",children:["Centralised customer communication inside the collaboration tool your teams already use","Faster response times \u2014 reply in channel instead of switching apps","Shared ownership: any available agent can reply, improving SLAs and reducing missed messages","Auditability: conversation history is preserved, and exports support compliance reviews"].map(((e,t)=>(0,jt.jsxs)("li",{className:"benefit-item",children:[(0,jt.jsx)("svg",{className:"benefit-check",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,jt.jsx)("path",{d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",fill:"
2currentColor"})}),e]},t)))})]}),(0,jt.jsx)("div",{className:"mobile-image","data-aos":"fade-left",children:(0,jt.jsx)("img",{src:"/images/integrations/teams/Mobile View.png",alt:"Microsoft Teams mobile app showing DataFlows SMS integration with message notifications and reply interface",loading:"lazy",className:"mobile-screenshot"})})]})})}),(0,jt.jsx)("section",{className:"teams-quick-start","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Get Started in 4 Simple Steps"}),(0,jt.jsx)("p",{className:"section-description",children:"Set up DataFlows SMS for Microsoft Teams in minutes, not hours"})]}),(0,jt.jsx)("div",{className:"steps-grid",children:[{step:1,title:"Sign up for DataFlows",description:"Create your DataFlows SMS account with instant activation",cta:"Sign Up Now"},{step:2,title:"Install Teams App",description:"Install the DataFlows Teams app from your Microsoft tenant",cta:"Install App"},{step:3,title:"Assign Virtual Numbers",description:"Admin: assign virtual numbers to channels under Settings \u2192 Channels"},{step:4,title:"Start Messaging",description:"Begin receiving and sending SMS messages immediately"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"step-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"step-number",children:e.step}),(0,jt.jsx)("h3",{className:"step-title",children:e.title}),(0,jt.jsx)("p",{className:"step-description",children:e.description}),e.cta&&(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"step-cta",onClick:()=>n("signup_cta_clicked",{source:"teams-quick-start"}),children:e.cta})]},e.step)))})]})}),(0,jt.jsx)("section",{className:"teams-pricing","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"pricing-content",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Simple, Transparent Pricing"}),(0,jt.jsxs)("div",{className:"pricing-grid",children:[(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"3.5\xa2 AUD"}),(0,jt.jsx)("div",{className:"price-label",children:"Per Outbound SMS"})]}),(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"Free"}),(0,jt.jsx)("div",{className:"price-label",children:"Inbound SMS"})]}),(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"No Contracts"}),(0,jt.jsx)("div",{className:"price-label",children:"Prepaid Credits System"})]})]}),(0,jt.jsxs)("div",{className:"pricing-cta",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("signup_cta_clicked",{source:"teams-pricing"}),children:"Start Free Trial"}),(0,jt.jsx)("a",{href:"/contact-us",className:"cta-button secondary",onClick:()=>n("contact_support_clicked",{integration:"microsoft-teams"}),children:"Enterprise Pricing"})]})]})})}),(0,jt.jsx)("section",{className:"teams-faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"How do I assign a number to a Teams channel?",answer:"In your DataFlows dashboard, navigate to Settings \u2192 Channels. Select the channel and assign an available virtual number. The channel will immediately start receiving inbound messages for that number."},{question:"Can multiple channels share a number?",answer:"No, each virtual number can only be assigned to one channel at a time. This ensures message routing clarity and prevents confusion in team communications."},{question:"Are inbound messages stored in Azure?",answer:"Messages are securely stored in DataFlows' infrastructure with end-to-end encryption. We provide configurable retention policies and can integrate with your Azure compliance requirements for enterprise customers."},{question:"What happens if a team member leaves?",answer:"Channel-based messaging ensures continuity. When team members leave, their message history remains in the channel for context, and remaining team members can continue conversations seamlessly."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"teams-final-cta",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"cta-content","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{className:"cta-title",children:"Ready to Transform Your Team Communication?"}),(0,jt.jsx)("p",{className:"cta-description",children:"Join thousands of teams using DataFlows SMS for Microsoft Teams to streamline customer communications"}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://appsource.microsoft.com/en-us
2/product/office/WA200009078?tab=Overview",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("teams_install_clicked",{source:"final-cta"}),children:"Install for Teams"}),(0,jt.jsx)("a",{href:"/contact-us",className:"cta-button secondary",onClick:()=>n("contact_support_clicked",{source:"final-cta"}),children:"Contact Sales"})]})]})})}),(0,jt.jsx)(bt,{}),(0,jt.jsx)("div",{className:"scroll-to-top "+(t?"show":""),onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,jt.jsx)("path",{d:"M12 5L19 12H16V19H8V12H5L12 5Z",fill:"currentColor"})})})]})},Xa=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const n=function(e){"undefined"!==typeof gtag&&gtag("event",e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})},i={title:"Email to SMS with DataFlows",subtitle:"Send SMS from Outlook & Gmail",description:"Compose an email and have it delivered as an SMS. Fast setup with authenticated sender emails and flexible sender ID control. Perfect for customer support teams and automated systems.",primaryCta:{text:"Enable Email to SMS",href:"https://sms.dataflows.com.au/register",onClick:()=>n("email_to_sms_setup_started")},secondaryCta:{text:"Contact Sales",href:"/contact-us"}},r=[{title:"Authorize Email Account",description:"Connect your Outlook or Gmail account using secure OAuth. No passwords shared.",icon:"\ud83d\udd10"},{title:"Configure Settings",description:"Choose your sender ID and set up email address authorization in DataFlows dashboard.",icon:"\u2699\ufe0f"},{title:"Compose & Send",description:"Write your email to [email protected] and it's delivered as SMS.",icon:"\ud83d\udce7"},{title:"Track Delivery",description:"Monitor delivery status, costs, and responses in real-time through your dashboard.",icon:"\ud83d\udcca"}];return(0,jt.jsxs)("div",{className:"email-sms-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Email to SMS with DataFlows \u2014 Send SMS from Outlook & Gmail"}),(0,jt.jsx)("meta",{name:"description",content:"Use DataFlows Email to SMS to send SMS directly from Outlook and Gmail. Fast setup, sender ID control, and reliable delivery."}),(0,jt.jsx)("meta",{name:"keywords",content:"email to SMS, Outlook SMS, Gmail SMS, email integration, automated SMS, business messaging"}),(0,jt.jsx)("meta",{property:"og:title",content:"Email to SMS Integration - DataFlows"}),(0,jt.jsx)("meta",{property:"og:description",content:"Send SMS directly from Outlook and Gmail with DataFlows Email to SMS integration. Perfect for support teams and automated notifications."}),(0,jt.jsx)("meta",{property:"og:image",content:"https://dataflows.com.au/images/integrations/email-sms/email%20to%20sms%20UI%20setup%20.png"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/email-to-sms")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"Email to SMS",item:"https://dataflows.com.au/integrations/email-to-sms"}]})})]}),(0,jt.jsx)("div",{className:"email-sms-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Email to SMS"}]})})}),(0,jt.jsx)(Ka,{...i}),(0,jt.jsx)("section",{className:"email-sms-preview","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"preview-content",children:[(0,jt.jsxs)("div",{className:"preview-text","data-aos":"fade-right",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Simple Setup, Powerful Results"}),(0,jt.jsx)("p",{className:"section-description",children:"Configure Email to SMS in minutes with our intuitive interface. Cho
2ose your sender identity, authorize your email account, and start sending SMS messages directly from your existing email client."}),(0,jt.jsxs)("div",{className:"preview-features",children:[(0,jt.jsxs)("div",{className:"preview-feature",children:[(0,jt.jsx)("svg",{className:"feature-check",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,jt.jsx)("path",{d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",fill:"currentColor"})}),(0,jt.jsx)("span",{children:"Secure OAuth authentication"})]}),(0,jt.jsxs)("div",{className:"preview-feature",children:[(0,jt.jsx)("svg",{className:"feature-check",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,jt.jsx)("path",{d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",fill:"currentColor"})}),(0,jt.jsx)("span",{children:"Custom sender ID selection"})]}),(0,jt.jsxs)("div",{className:"preview-feature",children:[(0,jt.jsx)("svg",{className:"feature-check",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,jt.jsx)("path",{d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",fill:"currentColor"})}),(0,jt.jsx)("span",{children:"Real-time delivery tracking"})]})]})]}),(0,jt.jsx)("div",{className:"preview-image","data-aos":"fade-left",children:(0,jt.jsx)("img",{src:"/images/integrations/email-sms/email to sms UI setup .png",alt:"Email to SMS setup interface showing sender ID configuration and authorized email addresses",loading:"lazy",className:"setup-screenshot"})})]})})}),(0,jt.jsx)("section",{className:"email-sms-workflow","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"How Email to SMS Works"}),(0,jt.jsx)("p",{className:"section-description",children:"Transform your email workflow into SMS communication in 4 simple steps"})]}),(0,jt.jsx)("div",{className:"workflow-grid",children:r.map(((e,t)=>(0,jt.jsxs)("div",{className:"workflow-step","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"step-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"step-title",children:e.title}),(0,jt.jsx)("p",{className:"step-description",children:e.description}),t<r.length-1&&(0,jt.jsx)("svg",{className:"workflow-arrow",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M5 12H19M19 12L12 5M19 12L12 19",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]},t)))})]})}),(0,jt.jsx)("section",{className:"email-sms-features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Powerful Email to SMS Features"}),(0,jt.jsx)("p",{className:"section-description",children:"Everything you need to bridge email and SMS communication effectively"})]}),(0,jt.jsx)("div",{className:"features-grid",children:[{icon:"\ud83d\udd10",title:"OAuth-based Integration",description:"Secure authentication with Outlook and Gmail using OAuth tokens. No need to share passwords or compromise security. Refresh tokens ensure continuous connectivity."},{icon:"\ud83c\udff7\ufe0f",title:"Sender ID Control",description:"Select and validate sender IDs for consistent branding. Choose from alphanumeric IDs or dedicated numbers based on your region and carrier requirements."},{icon:"\ud83e\uddfe",title:"Smart Message Handling",description:"Automatic character counting and segmentation preview. Handle long messages intelligently with continuation indicators and cost estimates before sending."},{icon:"\ud83d\udcca",title:"Delivery Tracking",description:"Real-time delivery receipts and retry logic for failed deliveries. Comprehensive logs with searchable message history and CSV export for reporting."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"feature-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"feature-icon emoji-icon",style:{fontSize:"48px",width:"64px",height:"64px",display:"flex",alignItems:"center",justifyContent:"center"},children:e.icon}),(0,jt.jsx)("h3",{className:"feature-title",children:e.title}),(0,jt.jsx)("p",{className:"feature-description",children:e.description})]},t)))})]})}),(0,jt.jsx)("section",{className:"email-sms-use-cases","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Perfect for Every Business Need"}),(0,jt.jsx)("p",{className:"section-description",children:"From customer support to automated notifications, Email to SMS adapts to your workflow"})]}
2),(0,jt.jsx)("div",{className:"use-cases-grid",children:[{title:"Customer Support Teams",description:"Reply to customers via email threads and have responses delivered as SMS for urgent matters",icon:"\u2194\ufe0f"},{title:"Automated Notifications",description:"Convert existing email alerts (order confirmations, shipping updates) into SMS for better visibility",icon:"\ud83d\udcec"},{title:"Marketing Campaigns",description:"Repurpose email marketing content for SMS campaigns with higher open rates",icon:"\ud83d\udce2"},{title:"System Monitoring",description:"Turn server alerts and monitoring notifications into immediate SMS alerts to on-call staff",icon:"\ud83d\udea8"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"use-case-icon emoji-icon",style:{fontSize:"48px",width:"64px",height:"64px",display:"flex",alignItems:"center",justifyContent:"center"},children:e.icon}),(0,jt.jsx)("h3",{className:"use-case-title",children:e.title}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description})]},t)))})]})}),(0,jt.jsx)("section",{className:"email-sms-quick-start","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Get Started in Minutes"}),(0,jt.jsx)("p",{className:"section-description",children:"Set up Email to SMS integration with your existing email client quickly and securely"})]}),(0,jt.jsx)("div",{className:"steps-grid",children:[{step:1,title:"Connect Your Email",description:"Authorize Outlook or Gmail using secure OAuth authentication",cta:"Authorize Now"},{step:2,title:"Configure Sender ID",description:"Register your sender address and choose your SMS sender identity"},{step:3,title:"Send First SMS",description:"Compose an email to our gateway address and watch it convert to SMS"},{step:4,title:"Monitor Results",description:"Track delivery status and costs in your DataFlows dashboard"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"step-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"step-number",children:e.step}),(0,jt.jsx)("h3",{className:"step-title",children:e.title}),(0,jt.jsx)("p",{className:"step-description",children:e.description}),e.cta&&(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"step-cta",onClick:()=>n("authorization_flow_started",{provider:"email-oauth"}),children:e.cta})]},e.step)))})]})}),(0,jt.jsx)("section",{className:"email-sms-pricing","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"pricing-content",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Simple, Transparent Pricing"}),(0,jt.jsxs)("div",{className:"pricing-grid",children:[(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"3.5\xa2 AUD"}),(0,jt.jsx)("div",{className:"price-label",children:"Per Outbound SMS"})]}),(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"Free"}),(0,jt.jsx)("div",{className:"price-label",children:"Setup & Configuration"})]}),(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"No Contracts"}),(0,jt.jsx)("div",{className:"price-label",children:"Pay-as-you-go Credits"})]})]}),(0,jt.jsxs)("div",{className:"pricing-cta",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("signup_cta_clicked",{source:"email-sms-pricing"}),children:"Start Free Trial"}),(0,jt.jsx)("a",{href:"/contact-us",className:"cta-button secondary",onClick:()=>n("contact_support_clicked",{integration:"email-to-sms"}),children:"Enterprise Pricing"})]})]})})}),(0,jt.jsx)("section",{className:"email-sms-faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"Which email providers are supported?",answer:"We currently support Microsoft Outlook (including Office 365) and Gmail. Both personal and business accounts are supported with secure OAuth authentication."},{question:"How does the email to SMS gateway work?",answer:"You send an email to a special gateway address ([email protected]) and we convert it to SMS. Only authorized email addresses can send messages, ensuring security."},{question:"Can I use my company's sender ID?",answer:"Yes! You can configure custom alphanumeric sender IDs (where regulations permit) or use dedicated virtual numbers to maintain your brand identity in SMS messages."},{question:"What happens if my email is too long for SMS?",answer:"Long messages are automatically segmented into multiple SMS messages. You'll see a character count and cost estimate before sending, and can preview how the message will be split."},{question:"How secure is the OAuth integration?",answer:"We use industry-standard OAuth 2.0 authentication. We never store your email passwords, only secure access tokens that can be revoked at any time from your email provider's security settings."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"email-sms-final-cta",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"cta-content","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{className:"cta-title",children:"Ready to Bridge Email and SMS?"}),(0,jt.jsx)("p",{className:"cta-description",children:"Join businesses using DataFlows Email to SMS to reach customers instantly from their existing email workflow"}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("email_to_sms_setup_started",{source:"final-cta"}),children:"Enable Email to SMS"}),(0,jt.jsx)("a",{href:"/contact-us",className:"cta-button secondary",onClick:()=>n("contact_support_clicked",{source:"final-cta"}),children:"Contact Sales"})]})]})})}),(0,jt.jsx)(bt,{}),(0,jt.jsx)("div",{className:"scroll-to-top "+(t?"show":""),onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,jt.jsx)("path",{d:"M12 5L19 12H16V19H8V12H5L12 5Z",fill:"currentColor"})})})]})},Ja=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{window.scrollY>300?s(!0):s(!1)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);return(0,jt.jsxs)("div",{className:"power-automate-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"DataFlows SMS for Microsoft Power Automate \u2014 Enterprise SMS Automation"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/power-automate")}),(0,jt.jsx)("meta",{name:"description",content:"Integrate DataFlows SMS with Microsoft Power Automate for enterprise SMS automation. Create intelligent workflows, automate responses, and connect with your business systems."}),(0,jt.jsx)("meta",{name:"keywords",content:"Power Automate SMS, Microsoft automation, enterprise SMS, workflow automation, business SMS integration"}),(0,jt.jsx)("meta",{property:"og:title",content:"DataFlows SMS for Microsoft Power Automate Integration"}),(0,jt.jsx)("meta",{property:"og:description",content:"Transform business communications with enterprise SMS automation in Microsoft Power Automate. Create intelligent workflows and automate customer interactions."}),(0,jt.jsx)("meta",{property:"og:image",content:"https://dataflows.com.au/logos/lglogopowerautomate-200h.png"}),(0,jt.jsx)("meta",{property:"og:url",content:"https://dataflows.com.au/integrations/power-automate"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/power-automate")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"Microsoft Power Automate",item:"https://dataflows.com.au/integrations/power-automate"}]})})]}),(0,jt.jsx)("div",{className:"power-automate-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Microsoft Power Automate"}]})})}),(0,jt.jsx)(Ka,{badge:"Enterprise Integration",title:"DataFlows SMS for Microsoft Power Automate",subt
2itle:"Transform your business communications with enterprise-grade SMS messaging directly within your Power Automate flows and Power Apps.",description:"Automate SMS workflows, create intelligent responses, and integrate SMS capabilities seamlessly into your existing Microsoft Power Platform ecosystem.",primaryCta:{text:"Get Started with Power Automate",href:"https://make.powerautomate.com/"},secondaryCta:{text:"Contact Sales",href:"/contact-us"},features:["Easy connector installation","Two-way SMS automation","Dynamic sender ID selection","Real-time flow triggers"]}),(0,jt.jsx)("section",{className:"power-automate-navigation",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-title","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Complete Power Automate Documentation"}),(0,jt.jsx)("p",{className:"section-subtitle",children:"Explore our comprehensive guides to master SMS automation with Microsoft Power Automate"})]}),(0,jt.jsxs)("div",{className:"nav-cards-grid",children:[(0,jt.jsxs)(fe,{to:"/integrations/power-automate",className:"nav-page-card current","data-aos":"fade-up",children:[(0,jt.jsx)("div",{className:"nav-card-icon",children:"\ud83d\udccb"}),(0,jt.jsx)("h3",{children:"Setup Guide"}),(0,jt.jsx)("p",{children:"Complete installation and configuration guide for the DataFlows SMS connector"}),(0,jt.jsx)("span",{className:"nav-card-badge",children:"Current Page"})]}),(0,jt.jsxs)(fe,{to:"/integrations/power-automate/advanced",className:"nav-page-card","data-aos":"fade-up","data-aos-delay":"100",children:[(0,jt.jsx)("div",{className:"nav-card-icon",children:"\u26a1"}),(0,jt.jsx)("h3",{children:"Advanced Features"}),(0,jt.jsx)("p",{children:"Webhook triggers, enterprise integrations, and advanced automation patterns"}),(0,jt.jsx)("span",{className:"nav-card-arrow",children:"\u2192"})]}),(0,jt.jsxs)(fe,{to:"/integrations/power-automate/use-cases",className:"nav-page-card","data-aos":"fade-up","data-aos-delay":"200",children:[(0,jt.jsx)("div",{className:"nav-card-icon",children:"\ud83d\udcbc"}),(0,jt.jsx)("h3",{children:"Use Cases"}),(0,jt.jsx)("p",{children:"Real-world examples and industry-specific SMS automation implementations"}),(0,jt.jsx)("span",{className:"nav-card-arrow",children:"\u2192"})]})]})]})}),(0,jt.jsx)("section",{className:"power-automate-features",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-title","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Enterprise SMS Automation"}),(0,jt.jsx)("p",{className:"section-subtitle",children:"Everything you need to automate SMS communications within your Microsoft Power Platform ecosystem"})]}),(0,jt.jsx)("div",{className:"features-grid",children:[{icon:"\u26a1",title:"Automated SMS Workflows",description:"Create intelligent SMS flows that respond to business events, customer actions, and system triggers automatically."},{icon:"\ud83d\udd04",title:"Two-Way Conversations",description:"Build interactive SMS workflows with automatic responses, keyword matching, and conversation routing."},{icon:"\ud83c\udfaf",title:"Smart Sender ID Management",description:"Automatically select appropriate sender IDs based on business rules, customer segments, or message types."},{icon:"\ud83c\udfe2",title:"Enterprise Integration",description:"Connect with CRM systems, databases, and other Microsoft services for comprehensive business automation."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"feature-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"feature-icon emoji-icon",style:{fontSize:"48px",width:"64px",height:"64px",display:"flex",alignItems:"center",justifyContent:"center"},children:e.icon}),(0,jt.jsx)("h3",{className:"feature-title",children:e.title}),(0,jt.jsx)("p",{className:"feature-description",children:e.description})]},t)))})]})}),(0,jt.jsx)("section",{className:"power-automate-guide",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"guide-content","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"DataFlows SMS Connector - Quick Start Guide"}),(0,jt.jsxs)("div",{className:"prerequisites",children:[(0,jt.jsx)("h4",{children:"Prerequisites"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Active Microsoft Power Platform license"}),(0,jt.jsx)("li",{children:"DataFlows SMS account with API access"}),(0,jt.jsx)("li",{children:"Virtual phone numbers assigned to your account"})]})]}),(0,jt.jsx)("h3",{children:"Getting Started"}),(0,jt.jsxs)("h4",{children:[(0,jt.jsx)("span",{className:"step-number",children:"1"}),"Install the Connector"]}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Open Power Automate"})," (make.powerautomate.com)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Navigate to"})," Data \u2192 Custom connectors"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Search for"}),' "DataFlows SMS"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Click"}),' "Add connector"']})]}),(0,jt.jsxs)("h4",{children:[(0,jt.jsx)("span",{className:"step-number",children:"2"}),"Create Your First Connection"]}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Click"}),' "Create connection"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Enter your API Token"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Find this in your DataFlows account under Settings \u2192 API"}),(0,jt.jsxs)("li",{children:["Format: ",(0,jt.jsx)("code",{children:"34|aBc123xyz..."})]})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Test connection"}),' - should show "Connected successfully"']})]}),(0,jt.jsx)("h3",{children:"Your First SMS Flow"}),(0,jt.jsx)("h4",{children:"Create an Automated SMS Response"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Scenario:"})," Send an automatic reply when someone texts your business number."]}),(0,jt.jsx)("h4",{children:"Flow Setup:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Create new flow"}),' \u2192 "Automated cloud flow"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Add trigger:"}),' "When SMS received"',(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Event Type:"})," ",(0,jt.jsx)("code",{children:"sms_received"})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Virtual Number:"})," Select your business number"]})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Add action:"}),' "Send SMS Message"',(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Recipient:"}),' Use dynamic content \u2192 "Event Data Sender Phone"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Sender ID:"})," Select your preferred sender ID"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Message:"}),' "Thank you for contacting us! We\'ll respond within 24 hours."']})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Save and test"})," your flow"]})]}),(0,jt.jsx)("h4",{children:"Test Your Flow"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Send an SMS"})," to your virtual number"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Check Flow run history"}),' - should show "Succeeded"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Verify"})," automatic reply was sent"]})]}),(0,jt.jsx)("h3",{children:"Common Configurations"}),(0,jt.jsx)("h4",{children:"Dynamic Sender ID Selection"}),(0,jt.jsx)("p",{children:"The connector automatically loads your available sender IDs:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Approved alphanumeric sender IDs"}),(0,jt.jsx)("li",{children:"Your virtual phone numbers"}),(0,jt.jsx)("li",{children:"Custom branded sender names"})]}),(0,jt.jsx)("h4",{children:"Virtual Number Filtering"}),(0,jt.jsx)("p",{children:"Target specific business lines:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Customer Service:"})," ",(0,jt.jsx)("code",{children:"614095xxxxx"})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Marketing:"})," ",(0,jt.jsx)("code",{children:"614001xxxxx"})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Support:"})," ",(0,jt.jsx)("code",{children:"614098xxxxx"})]})]}),(0,jt.jsx)("h4",{children:"Message Types Supported"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Plain Text:"})," Standard SMS messages"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Unicode:"})," International characters and emojis"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Long Messages:"})," Automatically split across multiple SMS"]})]}),(0,jt.jsxs)("div",{className:"troubleshooting",children:[(0,jt.jsx)("h4",{children:"Troubleshooting"}),(0,jt.jsx)("h4",{children:"Common Issues"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:'"Invalid API Token"'})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:["Verify token format: ",(0,jt.jsx)("code",{children:"34|aBc123xyz..."})]}),(0,jt.jsx)("li",{children:"Check token hasn't expired in DataFlows account"}),(0,jt.jsx)("li",{children:"Ensure Developer permissions are enabled"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:'"No Virtual Numbers Found"'})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Confirm numbers are assigned in DataFlows account"}),(0,jt.jsx)("li",{children:'Check number status is "Active"'}),(0,jt.jsx)("li",{children:"Contact support if numbers don't appear"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:'"SMS Not Sending"'})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Verify sender ID is approved"}),(0,jt.jsx)("li",{children:"Check account balance"}),(0,jt.jsx)("li",{children:"Ensure recipient number format is correct (include country code)"})]})]}),(0,jt.jsx)("h3",{children:"Next Steps"}),(0,jt.jsx)("h4",{children:"Explore Advanced Features"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Business Automation Triggers"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Balance low alerts"}),(0,jt.jsx)("li",{children:"Campaign completion notifications"}),(0,jt.jsx)("li",{children:"Keyword matching responses"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Two-Way Conversations"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Build interactive SMS workflows"}),(0,jt.jsx)("li",{children:"Customer service automation"}),(0,jt.jsx)("li",{children:"Order status systems"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Integration Examples"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Connect with CRM systems"}),(0,jt.jsx)("li",{children:"E-commerce order notifications"}),(0,jt.jsx)("li",{children:"Appointment reminders"})]})]})]}),(0,jt.jsx)("h4",{children:"Pre-Built Templates"}),(0,jt.jsx)("p",{children:"Download ready-to-use flow templates:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Customer service automation"}),(0,jt.jsx)("li",{children:"Marketing campaign responses"}),(0,jt.jsx)("li",{children:"Emergency notification systems"}),(0,jt.jsx)("li",{children:"Order confirmation workflows"})]}),(0,jt.jsxs)("div",{className:"support-links",children:[(0,jt.jsx)("h4",{children:"Support & Resources"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Need Help?"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:["Email: ",(0,jt.jsx)("a",{href:"mailto:[email protected]",children:"[email protected]"})]}),(0,jt.jsxs)("li",{children:["Support Request: ",(0,jt.jsx)("a",{href:"/contact-us",children:"https://dataflows.com.au/contact-us"})]})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Feature Requests"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Submit ideas through DataFlows dashboard"}),(0,jt.jsx)("li",{children:"Join our Power Platform community"}),(0,jt.jsx)("li",{children:"Follow product updates"})]})]}),(0,jt.jsx)("p",{style:{textAlign:"center",fontStyle:"italic",color:"#6c757d",marginTop:"2rem"},children:(0,jt.jsx)("em",{children:"DataFlows SMS Connector v1.0 - Enterprise SMS for Power Platform"})})]})})}),t&&(0,jt.jsx)("button",{onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},className:"scroll-top-btn",style:{position:"fixed",bottom:"2rem",right:"2rem",backgroundColor:"#5228F5",color:"white",border:"none",borderRadius:"50%",width:"50px",height:"50px",cursor:"pointer",fontSize:"1.2rem",zIndex:1e3,boxShadow:"0 4px 12px rgba(0,0,0,0.15)",transition:"all 0.3s ease"},onMouseOver:e=>e.target.style.transform="scale(1.1)",onMouseOut:e=>e.target.style.transform="scale(1)",children:"\u2191"}),(0,jt.jsx)(bt,{})]})},eo=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{window.scrollY>300?s(!0):s(!1)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);return(0,jt.jsxs)("div",{className:"power-automate-advanced-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Power Automate Advanced Features \u2014 Enterprise SMS Automation | DataFlows"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/power-automate/advanced")}),(0,jt.jsx)("meta",{name:"description",content:"Master advanced SMS automation with DataFlows Power Automate connector. 16 webhook triggers, enterprise patterns, performance optimization, and security features."}),(0,jt.jsx)("meta",{name:"keywords",content:"Power Automate advanced features, SMS webhook triggers, enterprise automation, Microsoft Power Platform, business process automation"}),(0,jt.jsx)("meta",{property:"og:title",content:"Power Automate Advanced Features - DataFlows SMS Connector"}),(0,jt.jsx)("meta",{property:"og:description",content:"Comprehensive guide to advanced SMS automation features, webhook triggers, and enterprise integration patterns for Microsoft Power Automate."}),(0,jt.jsx)("meta",{property:"og:image",content:"https://dataflows.com.au/logos/lglogopowerautomate-200h.png"}),(0,jt.jsx)("meta",{property:"og:url",content:"https://dataflows.com.au/integrations/power-automate/advanced"})]}),(0,jt.jsx)("div",{className:"power-automate-advanced-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Microsoft Power Automate",path:"/integrations/power-automate"},{label:"Advanced Features"}]})})}),(0,jt.jsx)("section",{className:"page-navigation",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h1",{children:"Power Automate Advanced Features"}),(0,jt.jsx)("p",{children:"Enterprise-grade SMS automation with comprehensive webhook triggers and advanced integration patterns"}),(0,jt.jsxs)("div",{className:"nav-grid",children:[(0,jt.jsxs)(fe,{to:"/integrations/power-automate",className:"nav-card",children:[(0,jt.jsx)("h4",{children:"\ud83d\ude80 Quick Start Guide"}),(0,jt.jsx)("p",{children:"Get started with basic setup and your first SMS flow"})]}),(0,jt.jsxs)(fe,{to:"/integrations/power-automate/use-cases",className:"nav-card",children:[(0,jt.jsx)("h4",{children:"\ud83d\udca1 Use Case Examples"}),(0,jt.jsx)("p",{children:"Real-world implementation scenarios and templates"})]})]})]})}),(0,jt.jsx)("section",{className:"advanced-content",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"content-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Advanced Webhook Triggers"}),(0,jt.jsx)("p",{children:"The DataFlows SMS Connector provides 16+ business automation triggers to 
2streamline your operations and enhance customer communications."}),(0,jt.jsx)("h3",{children:"SMS Communication Triggers"}),(0,jt.jsxs)("div",{className:"triggers-grid",children:[(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"1. SMS Received"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Automate responses to incoming customer messages"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When SMS is received on specific virtual number"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Sender phone, message content, timestamp, virtual number"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Auto-reply, create support ticket, update CRM"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"2. SMS Status Changed"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Track delivery status and handle failed messages"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When SMS delivery status updates (delivered, failed, pending)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Message ID, status, recipient, timestamp"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Retry failed messages, update delivery logs, notify sales team"]})]})]})]}),(0,jt.jsx)("h3",{children:"Business Operations Triggers"}),(0,jt.jsxs)("div",{className:"triggers-grid",children:[(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"3. Balance Low"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Prevent service interruption with automated alerts"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When SMS credits fall below threshold"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Current balance, threshold amount, account details"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Send admin alert, auto-purchase credits, notify finance team"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"4. Campaign Completed"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Track marketing campaign performance"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When bulk SMS campaign finishes sending"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Campaign ID, total sent, delivery rates, completion time"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Generate report, notify marketing team, trigger follow-up campaigns"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"5. Campaign Failed"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Handle campaign issues immediately"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When campaign encounters errors or fails"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Campaign ID, error details, affected recipients"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Alert administrators, retry campaign, investigate issues"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"6. Campaign Started"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Monitor campaign launch and execution"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When new campaign begins sending"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Campaign details, scheduled time, recipient count"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Log campaign start, notify stakeholders, monitor progress"]})]})]})]}),(0,jt.jsx)("h3",{children:"Contact Management Triggers"}
vendor: 4,715 bytes, line 2
2),(0,jt.jsxs)("div",{className:"triggers-grid",children:[(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"7. Contact Added"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Welcome new subscribers and update systems"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When new contact is added to groups"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Contact details, group assignment, custom fields"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Send welcome message, update CRM, add to nurture sequence"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"8. Contact Updated"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Sync contact changes across systems"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When contact information is modified"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Contact ID, changed fields, previous values, new values"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Update external databases, send confirmation, log changes"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"9. Contact Deleted"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Handle opt-outs and data removal"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When contact is removed from system"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Contact details, deletion reason, timestamp"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Update suppression lists, notify compliance team, clean external systems"]})]})]})]}),(0,jt.jsx)("h3",{children:"Messaging Automation Triggers"}),(0,jt.jsxs)("div",{className:"triggers-grid",children:[(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"10. Message Scheduled"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Confirm scheduled message setup"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When message is scheduled for future delivery"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Schedule details, recipient info, message content"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Send confirmation, log schedule, update calendar"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"11. Message Cancelled"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Handle cancelled scheduled messages"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When scheduled message is cancelled"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Message ID, cancellation reason, original schedule"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Notify administrators, update logs, handle refunds"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"12. Keyword Matched"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Automate responses to specific keywords"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When incoming SMS contains predefined keywords"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Keyword matched, sender details, message content, match type"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Send specific response, route to department, update customer status"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"13. Auto Reply Sent"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Track automated response performance"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When automatic reply is sent to customer"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Original message, reply content, sender details"]}
2),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Log interaction, update customer record, measure response rates"]})]})]})]}),(0,jt.jsx)("h3",{children:"Performance Monitoring Triggers"}),(0,jt.jsxs)("div",{className:"triggers-grid",children:[(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"14. Delivery Rate Low"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Maintain high delivery quality"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When message delivery rate drops below threshold"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Current rate, threshold, affected campaigns"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Alert administrators, investigate carrier issues, adjust sending patterns"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"15. High Bounce Rate"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Protect sender reputation"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When message bounce rate exceeds limits"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Bounce rate, affected numbers, bounce reasons"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Clean contact lists, investigate number quality, pause campaigns"]})]})]})]}),(0,jt.jsx)("h3",{children:"Administrative Triggers"}),(0,jt.jsxs)("div",{className:"triggers-grid",children:[(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"16. Sender ID Approved"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Activate new branded messaging"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When custom sender ID receives approval"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Sender ID details, approval date, restrictions"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Notify marketing team, update available options, launch branded campaigns"]})]})]}),(0,jt.jsxs)("div",{className:"trigger-card",children:[(0,jt.jsx)("h5",{children:"17. Sender ID Rejected"}),(0,jt.jsxs)("div",{className:"use-case",children:[(0,jt.jsx)("strong",{children:"Use Case:"})," Handle sender ID application issues"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trigger:"})," When sender ID application is rejected"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Available:"})," Sender ID, rejection reason, resubmission guidelines"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common Actions:"})," Alert administrators, review requirements, prepare resubmission"]})]})]})]})]}),(0,jt.jsxs)("div",{className:"content-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Advanced Configuration Options"}),(0,jt.jsxs)("div",{className:"feature-box",children:[(0,jt.jsx)("h4",{children:"Dynamic Content and Personalization"}),(0,jt.jsx)("h5",{children:"Sender ID Selection"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Dynamic Loading:"})," Automatically populates approved sender IDs"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Brand-Specific:"})," Use different sender IDs for different campaigns"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Fallback Options:"})," Automatic selection if preferred ID unavailable"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Compliance:"})," Ensures only approved IDs are available"]})]}),(0,jt.jsx)("h5",{children:"Virtual Number Filtering"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Number-Specific Triggers:"})," Create dedicated flows for each business line"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Department Routing:"})," Route different numbers to appropriate teams"]}
vendor: 7,163 bytes, line 2
2),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Geographic Segmentation:"})," Handle regional communications separately"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Service Categorization:"})," Separate customer service, sales, and support"]})]})]}),(0,jt.jsx)("h3",{children:"Message Formatting and Encoding"}),(0,jt.jsx)("h4",{children:"Unicode Support"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"International Characters:"})," Support for non-English languages"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Message Types:"})," Plain text and Unicode message support"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Character Encoding:"})," Proper handling of special characters"]})]}),(0,jt.jsx)("h4",{children:"Message Delivery"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Single SMS:"})," Individual message delivery"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Delivery Tracking:"})," Track message status and delivery confirmation"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Cost Tracking:"})," Per-message cost calculation"]})]}),(0,jt.jsx)("h3",{children:"Security and Authentication"}),(0,jt.jsxs)("div",{className:"info-box",children:[(0,jt.jsx)("h4",{children:"API Token Management"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Secure Storage:"})," Encrypted token storage in Power Platform"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Permission Validation:"})," Real-time verification of API permissions"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Bearer Token Support:"})," Standard Authorization header authentication"]})]}),(0,jt.jsx)("h4",{children:"Webhook Security"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"URL Validation:"})," Secure webhook endpoint verification"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Rate Limiting:"})," Protection against excessive webhook calls using built-in throttling"]})]})]})]}),(0,jt.jsxs)("div",{className:"content-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Enterprise Integration Patterns"}),(0,jt.jsx)("h3",{children:"Contact Management Integration"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Contact Synchronization:"})," Import and manage contact lists"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Group Management:"})," Organize contacts into groups for targeted messaging"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Custom Fields:"})," Store additional contact information and metadata"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Opt-in/Opt-out Management:"})," Automated subscription management"]})]}),(0,jt.jsx)("h3",{children:"Marketing Automation"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Campaign Management:"})," Create and manage SMS marketing campaigns"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Automation Workflows:"})," Multi-step SMS automation sequences"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Event-Based Messaging:"})," Triggered communications based on webhooks"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Segmentation:"})," Targeted messaging based on contact groups and attributes"]})]}),(0,jt.jsx)("h3",{children:"Two-Way Communication"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"SMS Conversations:"})," Interactive SMS communication threads"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Keyword Management:"})," Automated responses to specific keywords"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Message Routing:"})," Direct messages to appropriate teams or departments"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Response Tracking:"})," Monitor and analyze customer interactions"]})]})]}),(0,jt.jsxs)("div",{className:"content-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Performance Optimization"}),(0,jt.jsx)("h3",{children:"Rate Limiting and Throttling"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"API Rate Limiting:"})," Built-in request throttling and rate limiting"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Carrier Compliance:"})," Automatic adherence to carrier sending limits"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Dynamic Rate Tracking:"})," Intelligent rate management for SMS sending"]})]}),(0,jt.jsx)("h3",{children:"Error Handling and Retry Logic"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Automatic Retries:"})," Intelligent retry for temporary failures with configurable retry periods"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Job Queue Management:"})," Laravel queue system for reliable message processing"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Error Classification:"})," Detailed categorization of failure types"]})]}),(0,jt.jsx)("h3",{children:"Monitoring and Analytics"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Delivery Reports:"})," Comprehensive delivery status tracking"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Cost Tracking:"})," Detailed cost analysis and per-message pricing"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Campaign Analytics:"})," Performance metrics for bulk SMS campaigns"]})]})]}),(0,jt.jsxs)("div",{className:"content-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Best Practices"}),(0,jt.jsxs)("div",{className:"feature-box",children:[(0,jt.jsx)("h4",{children:"Flow Design"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Error Boundaries:"})," Implement comprehensive error handling"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Conditional Logic:"})," Use conditions to handle different scenarios"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Variable Management:"})," Efficient use of flow variables and dynamic content"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Testing Strategies:"})," Thorough testing before production deployment"]})]})]}),(0,jt.jsxs)("div",{className:"warning-box",children:[(0,jt.jsx)("h4",{children:"Security Considerations"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Credential Management:"})," Secure handling of API tokens and sensitive data"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Data Privacy:"})," Compliance with GDPR, CCPA, and other regulations"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Access Control:"})," Proper user permissions and role-based access"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Audit Trail
2s:"})," Comprehensive logging for compliance and troubleshooting"]})]})]}),(0,jt.jsxs)("div",{className:"info-box",children:[(0,jt.jsx)("h4",{children:"Performance Guidelines"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Bulk Operations:"})," Efficient handling of large message volumes"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Resource Management:"})," Optimal use of Power Platform resources"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Caching Strategies:"})," Effective use of caching for improved performance"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Scalability Planning:"})," Design patterns for enterprise-scale deployments"]})]})]})]}),(0,jt.jsxs)("div",{className:"content-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Support and Resources"}),(0,jt.jsx)("h3",{children:"Technical Support"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Email Support:"})," ",(0,jt.jsx)("a",{href:"mailto:[email protected]",children:"[email protected]"})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Support Request:"})," ",(0,jt.jsx)("a",{href:"/contact-us",children:"https://dataflows.com.au/contact-us"})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Knowledge Base:"})," Comprehensive self-service resources"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Community Forums:"})," Peer support and best practice sharing"]})]}),(0,jt.jsx)("h3",{children:"Professional Services"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Implementation Consulting:"})," Expert guidance for complex deployments"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Custom Integration:"})," Tailored solutions for unique requirements"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Training Programs:"})," Comprehensive training for development teams"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Ongoing Support:"})," Dedicated support for enterprise customers"]})]})]})]})}),t&&(0,jt.jsx)("button",{onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},className:"scroll-top-btn",style:{position:"fixed",bottom:"2rem",right:"2rem",backgroundColor:"#5228F5",color:"white",border:"none",borderRadius:"50%",width:"50px",height:"50px",cursor:"pointer",fontSize:"1.2rem",zIndex:1e3,boxShadow:"0 4px 12px rgba(0,0,0,0.15)",transition:"all 0.3s ease"},onMouseOver:e=>e.target.style.transform="scale(1.1)",onMouseOut:e=>e.target.style.transform="scale(1)",children:"\u2191"}),(0,jt.jsx)(bt,{})]})},to=t=>((0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0})}),[]),(0,jt.jsxs)("div",{className:"power-automate-use-cases-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Power Automate SMS Use Cases | DataFlows Australia"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("undefined"!==typeof window?window.location.pathname:"/")}),(0,jt.jsx)("meta",{name:"description",content:"Discover practical Power Automate SMS integration use cases across industries. Learn how businesses automate SMS workflows for better customer engagement and operational efficiency."}),(0,jt.jsx)("meta",{property:"og:title",content:"Power Automate SMS Use Cases | DataFlows Australia"}),(0,jt.jsx)("meta",{property:"og:description",content:"Explore real-world examples of Power Automate SMS integrations across different industries and business scenarios."})]}),(0,jt.jsx)("section",{className:"page-navigation",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h1",{children:"Power Automate SMS Use Cases"}),(0,jt.jsx)("p",{children:"Real-world examples of SMS automation across industries and business scenarios"}),(0,jt.jsxs)("div",{className:"nav-grid",children:[(0,jt.jsxs)(fe,{to:"/integrations/power-automate",className:"nav-card",children:[(0,jt.jsx)("h4",{children:"\ud83d\udccb Main Integration Guide"}),(0,jt.jsx)("p",{children:"Complete setup guide and basic configuration"})]}),(0,jt.jsxs)(fe,{to:"/integrations/power-automate/advanced",className:"nav-card",children:[(0,jt.jsx)("h4",{children:"\u26a1 Advanced Features"}),(0,jt.jsx)("p",{children:"Webhook triggers and enterprise features"})]}),(0,jt.jsxs)(fe,{to:"/integrations/power-automate/use-cases",className:"nav-card",children:[(0,jt.jsx)("h4",{children:"\ud83d\udcbc Use Cases"}),(0,jt.jsx)("p",{children:"Industry examples and practical applications"})]})]})]})}),(0,jt.jsx)("section",{className:"use-cases-content",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"content-section",children:[(0,jt.jsx)("h2",{children:"Industry Use Cases Overview"}),(0,jt.jsx)("p",{children:"Power Automate SMS integrations can transform business operations across various industries. From customer service automation to inventory management, SMS workflows provide immediate, reliable communication that drives engagement and operational efficiency."}),(0,jt.jsxs)("div",{className:"stats-grid",children:[(0,jt.jsxs)("div",{className:"stat-card",children:[(0,jt.jsx)("span",{className:"stat-number",children:"98%"}),(0,jt.jsx)("span",{className:"stat-label",children:"SMS Open Rate"})]}),(0,jt.jsxs)("div",{className:"stat-card",children:[(0,jt.jsx)("span",{className:"stat-number",children:"3 min"}),(0,jt.jsx)("span",{className:"stat-label",children:"Average Response Time"})]}),(0,jt.jsxs)("div",{className:"stat-card",children:[(0,jt.jsx)("span",{className:"stat-number",children:"45%"}),(0,jt.jsx)("span",{className:"stat-label",children:"Cost Reduction"})]}),(0,jt.jsxs)("div",{className:"stat-card",children:[(0,jt.jsx)("span",{className:"stat-number",children:"24/7"}),(0,jt.jsx)("span",{className:"stat-label",children:"Automated Support"})]})]})]}),(0,jt.jsxs)("div",{className:"content-section",children:[(0,jt.jsx)("h3",{children:"Retail & E-commerce"}
vendor: 4,251 bytes, line 2
2),(0,jt.jsxs)("div",{className:"use-cases-grid",children:[(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"E-commerce"}),(0,jt.jsx)("h5",{children:"Order Status Updates"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Automatically notify customers about order confirmations, shipping updates, and delivery confirmations through SMS, reducing customer service inquiries and improving satisfaction."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Customer places order in online store"}),(0,jt.jsx)("li",{children:"Order data triggers Power Automate flow"}),(0,jt.jsx)("li",{children:"SMS sent with order confirmation details"}),(0,jt.jsx)("li",{children:"Shipping updates trigger additional SMS notifications"}),(0,jt.jsx)("li",{children:"Delivery confirmation sent upon completion"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Reduce customer service calls by 60%"}),(0,jt.jsx)("li",{children:"Increase customer satisfaction scores"}),(0,jt.jsx)("li",{children:"Improve delivery success rates"}),(0,jt.jsx)("li",{children:"Build customer trust through transparency"})]})})]}),(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Retail"}),(0,jt.jsx)("h5",{children:"Inventory Alerts"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Monitor inventory levels and automatically alert staff when stock runs low or when popular items are back in stock."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Inventory system monitors stock levels"}),(0,jt.jsx)("li",{children:"Low stock triggers Power Automate flow"}),(0,jt.jsx)("li",{children:"SMS alerts sent to inventory managers"}),(0,jt.jsx)("li",{children:"Restock confirmations notify sales team"}),(0,jt.jsx)("li",{children:"Customer waitlist notifications sent automatically"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Prevent stockouts and lost sales"}),(0,jt.jsx)("li",{children:"Optimize inventory management"}),(0,jt.jsx)("li",{children:"Improve customer retention"}),(0,jt.jsx)("li",{children:"Streamline reordering processes"})]})})]}),(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Retail"}),(0,jt.jsx)("h5",{children:"Abandoned Cart Recovery"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Automatically send SMS reminders to customers who abandon their shopping carts, with personalized offers to encourage completion."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Customer adds items to cart but doesn't complete purchase"}),(0,jt.jsx)("li",{children:"15-minute delay triggers Power Automate flow"}),(0,jt.jsx)("li",{children:"First SMS reminder sent with cart contents"}),(0,jt.jsx)("li",{children:"24-hour delay triggers discount offer SMS"}),(0,jt.jsx)("li",{children:"Final reminder sent after 72 hours"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Recover 15-25% of abandoned carts"}),(0,jt.jsx)("li",{children:"Increase average order value"}),(0,jt.jsx)("li",{children:"Personalize customer experience"}),(0,jt.jsx)("li",{children:"Reduce cart abandonment rates"})]})})]})]})]}),(0,jt.jsxs)("div",{className:"content-section",children:[(0,jt.jsx)("h3",{children:"Healthcare & Medical"}),(0,jt.jsxs)("div",{className:"use-cases-grid",children:[(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Healthcare"}),(0,jt.jsx)("h5",{children:"Appointment Reminders"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Reduce no-shows by automatically sending appointment reminders to patients via SMS, with options for c
2onfirmation or rescheduling."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Appointment scheduled in practice management system"}),(0,jt.jsx)("li",{children:"Power Automate monitors appointment calendar"}),(0,jt.jsx)("li",{children:"48-hour reminder SMS sent to patient"}),(0,jt.jsx)("li",{children:"24-hour confirmation reminder sent"}),(0,jt.jsx)("li",{children:"Follow-up SMS for missed appointments"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Reduce no-shows by up to 40%"}),(0,jt.jsx)("li",{children:"Optimize staff scheduling"}),(0,jt.jsx)("li",{children:"Improve patient satisfaction"}),(0,jt.jsx)("li",{children:"Increase practice revenue"})]})})]}),(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Healthcare"}),(0,jt.jsx)("h5",{children:"Medication Reminders"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Send automated medication reminders to patients, improving adherence rates and health outcomes."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Prescription data entered into patient system"}),(0,jt.jsx)("li",{children:"Power Automate creates reminder schedule"}),(0,jt.jsx)("li",{children:"Daily medication reminders sent via SMS"}),(0,jt.jsx)("li",{children:"Refill reminders sent before medication runs out"}),(0,jt.jsx)("li",{children:"Adherence tracking and reporting"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Improve medication adherence by 35%"}),(0,jt.jsx)("li",{children:"Better patient health outcomes"}),(0,jt.jsx)("li",{children:"Reduce hospital readmissions"}),(0,jt.jsx)("li",{children:"Support chronic disease management"})]})})]}),(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Healthcare"}),(0,jt.jsx)("h5",{children:"Test Results Notifications"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Securely notify patients when test results are available, with instructions on how to access detailed reports."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Lab results entered into patient management system"}),(0,jt.jsx)("li",{children:"Power Automate detects new results"}),(0,jt.jsx)("li",{children:"SMS notification sent to patient"}),(0,jt.jsx)("li",{children:"Secure link provided for detailed results"}),(0,jt.jsx)("li",{children:"Follow-up appointment scheduling if needed"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Faster result communication"}),(0,jt.jsx)("li",{children:"Improved patient engagement"}),(0,jt.jsx)("li",{children:"Reduced phone call volume"}),(0,jt.jsx)("li",{children:"Better care coordination"})]})})]})]})]}),(0,jt.jsxs)("div",{className:"content-section",children:[(0,jt.jsx)("h3",{children:"Professional Services"}),(0,jt.jsxs)("div",{className:"use-cases-grid",children:[(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Real Estate"}),(0,jt.jsx)("h5",{children:"Property Inquiry Responses"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Instantly respond to property inquiries with relevant details and schedule viewing appointments automatically."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Customer submits property inquiry online"}),(0,jt.jsx)("li",{children:"Power Automate captures inquiry details"}),(0,jt.jsx)("li",{children:"Instant SMS response with property information"}),(0,jt.jsx)("li",{children:"Follow-up SMS with viewing availability"}),(0,jt.jsx)("li",{children:"Automated appointment booking confirmation"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Respond to inquiries within seconds"}),(0,jt.jsx)("li",{children:"Increase viewing appointment bookings"}),(0,jt.jsx)("li",{children:"Improve lead conversion rates"}),(0,jt.jsx)("li",{children:"Enhance customer experience"})]})})]}),(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Legal"}),(0,jt.jsx)("h5",{children:"Case Update Notifications"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Keep clients informed about important case developments, court dates, and document requirements through automated SMS updates."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Case management system updated with new information"}),(0,jt.jsx)("li",{children:"Power Automate monitors case status changes"}),(0,jt.jsx)("li",{children:"Client notification SMS sent automatically"}),(0,jt.jsx)("li",{children:"Court date reminders scheduled"}),(0,jt.jsx)("li",{children:"Document submission deadlines communicated"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Keep clients informed and engaged"}),(0,jt.jsx)("li",{children:"Reduce missed court dates"}),(0,jt.jsx)("li",{children:"Improve client satisfaction"}),(0,jt.jsx)("li",{children:"Streamline case communication"})]})})]}),(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Consulting"}),(0,jt.jsx)("h5",{children:"Project Milestone Alerts"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Automatically notify stakeholders when project milestones are reached or deadlines are approaching."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Project management tool tracks milestone progress"}),(0,jt.jsx)("li",{children:"Power Automate monitors project status"}),(0,jt.jsx)("li",{children:"Milestone completion SMS sent to stakeholders"}),(0,jt.jsx)("li",{children:"Deadline approaching alerts triggered"}),(0,jt.jsx)("li",{children:"Status reports sent to project sponsors"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Improve project transparency"}),(0,jt.jsx)("li",{children:"Meet project deadlines consistently"}),(0,jt.jsx)("li",{children:"Enhance stakeholder communication"}),(0,jt.jsx)("li",{children:"Reduce project management overhead"})]})})]})]})]}),(0,jt.jsxs)("div",{className:"content-section",children:[(0,jt.jsx)("h3",{children:"Service Industry"}
2),(0,jt.jsxs)("div",{className:"use-cases-grid",children:[(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Automotive"}),(0,jt.jsx)("h5",{children:"Service Appointment Management"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Streamline automotive service appointments with automated booking confirmations, service reminders, and completion notifications."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Customer books service appointment online"}),(0,jt.jsx)("li",{children:"Power Automate sends booking confirmation SMS"}),(0,jt.jsx)("li",{children:"Service reminder sent day before appointment"}),(0,jt.jsx)("li",{children:"Technician arrival notification sent"}),(0,jt.jsx)("li",{children:"Service completion and pickup ready SMS"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Reduce appointment no-shows"}),(0,jt.jsx)("li",{children:"Improve customer communication"}),(0,jt.jsx)("li",{children:"Optimize service scheduling"}),(0,jt.jsx)("li",{children:"Increase customer satisfaction"})]})})]}),(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Food Service"}),(0,jt.jsx)("h5",{children:"Order Ready Notifications"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Notify customers when their takeaway or delivery orders are ready, reducing wait times and improving service efficiency."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Customer places order through POS system"}),(0,jt.jsx)("li",{children:"Order confirmation SMS sent immediately"}),(0,jt.jsx)("li",{children:'Kitchen updates order status to "ready"'}),(0,jt.jsx)("li",{children:"Power Automate triggers pickup notification"}),(0,jt.jsx)("li",{children:"Delivery tracking updates sent for delivery orders"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Reduce customer wait times"}),(0,jt.jsx)("li",{children:"Improve order accuracy"}),(0,jt.jsx)("li",{children:"Enhance customer experience"}),(0,jt.jsx)("li",{children:"Optimize kitchen operations"})]})})]}),(0,jt.jsxs)("div",{className:"use-case-card",children:[(0,jt.jsx)("div",{className:"use-case-industry",children:"Home Services"}),(0,jt.jsx)("h5",{children:"Technician Dispatch Alerts"}),(0,jt.jsx)("div",{className:"use-case-description",children:"Automatically notify customers when technicians are dispatched, en route, or arriving for scheduled service calls."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsx)("h6",{children:"Automated Workflow:"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Service call scheduled in dispatch system"}),(0,jt.jsx)("li",{children:"Technician assigned and dispatched"}),(0,jt.jsx)("li",{children:"Customer notified via SMS of dispatch"}),(0,jt.jsx)("li",{children:"En route notification with estimated arrival"}),(0,jt.jsx)("li",{children:"Service completion and invoice SMS sent"})]})]}),(0,jt.jsx)("div",{className:"benefits-list",children:(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Improve customer satisfaction"}),(0,jt.jsx)("li",{children:"Reduce missed appointments"}),(0,jt.jsx)("li",{children:"Optimize technician scheduling"}),(0,jt.jsx)("li",{children:"Enhance service transparency"})]})})]})]})]}),(0,jt.jsxs)("div",{className:"content-section",children:[(0,jt.jsx)("h3",{children:"Implementation Benefits & ROI"}),(0,jt.jsxs)("div",{className:"roi-highlight",children:[(0,jt.jsx)("h4",{children:"\ud83c\udfaf Measurable Business Impact"}),(0,jt.jsx)("p",{children:"Organizations implementing Power Automate SMS workflows typically see immediate returns on investment through improved efficiency, reduced manual processes, and enhanced customer satisfaction."})]}),(0,jt.jsxs)("div",{className:"industry-categories",children:[(0,jt.jsxs)("div",{className:"industry-category",children:[(0,jt.jsxs)("h4",{children:[(0,jt.jsx)("div",{className:"industry-icon",children:"\ud83d\udcb0"}),"Cost Savings"]}),(0,jt.jsxs)("ul",{className:"industry-use-cases",children:[(0,jt.jsx)("li",{children:"45% reduction in customer service calls"}),(0,jt.jsx)("li",{children:"60% decrease in manual notification tasks"}),(0,jt.jsx)("li",{children:"30% improvement in staff productivity"}),(0,jt.jsx)("li",{children:"25% reduction in operational overhead"})]})]}),(0,jt.jsxs)("div",{className:"industry-category",children:[(0,jt.jsxs)("h4",{children:[(0,jt.jsx)("div",{className:"industry-icon",children:"\ud83d\udcc8"}),"Revenue Growth"]}),(0,jt.jsxs)("ul",{className:"industry-use-cases",children:[(0,jt.jsx)("li",{children:"20% increase in appointment show rates"}),(0,jt.jsx)("li",{children:"15% improvement in cart conversion"}),(0,jt.jsx)("li",{children:"35% faster response to customer inquiries"}),(0,jt.jsx)("li",{children:"40% increase in repeat business"})]})]}),(0,jt.jsxs)("div",{className:"industry-category",children:[(0,jt.jsxs)("h4",{children:[(0,jt.jsx)("div",{className:"industry-icon",children:"\u2b50"}),"Customer Experience"]}),(0,jt.jsxs)("ul",{className:"industry-use-cases",children:[(0,jt.jsx)("li",{children:"98% SMS open rate vs 20% email"}),(0,jt.jsx)("li",{children:"3-minute average response time"}),(0,jt.jsx)("li",{children:"90% customer satisfaction improvement"}),(0,jt.jsx)("li",{children:"24/7 automated support availability"})]})]}),(0,jt.jsxs)("div",{className:"industry-category",children:[(0,jt.jsxs)("h4",{children:[(0,jt.jsx)("div",{className:"industry-icon",children:"\u26a1"}),"Operational Efficiency"]}),(0,jt.jsxs)("ul",{className:"industry-use-cases",children:[(0,jt.jsx)("li",{children:"Instant notification delivery"}),(0,jt.jsx)("li",{children:"Zero manual intervention required"}),(0,jt.jsx)("li",{children:"Seamless system integration"}),(0,jt.jsx)("li",{children:"Scalable to any business size"})]})]})]})]}),(0,jt.jsxs)("div",{className:"content-section",children:[(0,jt.jsx)("h3",{children:"Ready to Transform Your Business?"}),(0,jt.jsxs)("div",{className:"implementation-guide",children:[(0,jt.jsx)("h4",{children:"\ud83d\ude80 Quick Implementation Guide"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Identify Your Use Case:"})," Choose the most impactful workflow for your business"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Set Up DataFlows Account:"})," Create your SMS gateway account with Australian numbers"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Configure Power Automate:"})," Follow our step-by-step integration guide"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Test Your Workflow:"})," Run test scenarios to ensure everything works perfectly"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Launch and Monitor:"})," Deploy your automation and track performance metrics"]})]}),(0,jt.jsx)("p",{children:"Most businesses see results within 24 hours of implementation, with full ROI typically achieved within 30 days."})]}),(0,jt.jsxs)("div",{className:"feature-box",children:[(0,jt.jsx)("h4",{children:"\ud83d\udca1 Need Custom Solutions?"}),(0,jt.jsx)("p",{children:"Our team can help design and implement custom Power Automate SMS workflows tailored to your specific business requirements. From complex multi-step automations to industry-specific solutions, we've got you covered."}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Get started today:"})," Contact our automation specialists for a free consultation and personalized implementation plan."]})]})]})]})}),(0,jt.jsx)(bt,{})]})),so=()=>{const[t,s]=(0,e.useState)(!1),[n,i]=(0,e.useState)("getting-started");(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const r=function(e){"undefined"!==typeof gtag&&gtag("event",e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})},a={title:"DataFlows SMS Zapier Integration",subtitle:"Connect your SMS with 6,000+ apps",description:"Automate SMS workflows without code. Connect DataFlows SMS with your CRM, e-commerce, support, and marketing tools using Zapier's powerful automation platform.",primaryCta:{text:"Get Started with Zapier",href:"https://zapier.com/apps/dataflows-sms",onClick:()=>r("zapier_get_started_clicked")},secondaryCta:{text:"View Documentation",href:"#getting-started"}};return(0,jt.jsxs)("div",{className:"zapier-integration-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"DataFlows SMS Zapier Integration \u2014 Connect with 6,000+ Apps"}),(0,jt.jsx)("meta",{name:"description",content:"Automate SMS workflows with DataFlows SMS and Zapier. Connect with 6,000+ apps including Shopify, HubSpot, Slack, and Google. AI-powered sentiment analysis and categorisation included."}),(0,jt.jsx)("meta",{name:"keywords",content:"Zapier SMS, SMS automation, Zapier integration, AI sentiment analysis, SMS workflows, business automation"}),(0,jt.jsx)("meta",{property:"og:title",content:"DataFlows SMS Zapier Integration"}),(0,jt.jsx)("meta",{property:"og:description",content:"Connect DataFlows SMS with 6,000+ apps. Automate SMS workflows with AI-powered analysis, instant triggers, and powerful actions."}),(0,jt.jsx)("meta",{property:"og:image",content:"https://dataflows.com.au/zapier_official_logo_icon_16793
26-200h.png"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/zapier")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"Zapier",item:"https://dataflows.com.au/integrations/zapier"}]})})]}),(0,jt.jsx)("div",{className:"zapier-integration-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Zapier"}]})})}),(0,jt.jsx)(Ka,{...a}),(0,jt.jsx)("nav",{className:"zapier-nav-menu","data-aos":"fade-down",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)("div",{className:"nav-menu-scroll",children:[{id:"getting-started",label:"Getting Started",icon:"\ud83d\ude80"},{id:"triggers",label:"Triggers",icon:"\u26a1"},{id:"actions",label:"Actions",icon:"\ud83c\udfaf"},{id:"use-cases",label:"Use Cases",icon:"\ud83d\udca1"},{id:"best-practices",label:"Best Practices",icon:"\u2728"},{id:"troubleshooting",label:"Troubleshooting",icon:"\ud83d\udd27"}].map((e=>(0,jt.jsxs)("button",{className:"nav-menu-item "+(n===e.id?"active":""),onClick:()=>(e=>{const t=document.getElementById(e);t&&(t.scrollIntoView({behavior:"smooth",block:"start"}),i(e))})(e.id),children:[(0,jt.jsx)("span",{className:"nav-icon",children:e.icon}),(0,jt.jsx)("span",{className:"nav-label",children:e.label})]},e.id)))})})}),(0,jt.jsx)("section",{className:"zapier-key-features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Why DataFlows SMS + Zapier?"}),(0,jt.jsx)("p",{className:"section-description",children:"Powerful automation features that make integration seamless"})]}),(0,jt.jsx)("div",{className:"features-grid",children:[{icon:"\u26a1",title:"Instant Triggers",description:"Real-time webhooks with no polling delays. Get notified instantly when SMS events occur."},{icon:"\ud83e\udd16",title:"AI-Powered Analysis",description:"Advanced AI for sentiment analysis and automatic message categorisation."},{icon:"\ud83d\udcca",title:"Dynamic Dropdowns",description:"Select sender IDs and contact groups directly in Zapier without copying IDs."},{icon:"\ud83d\udd52",title:"Scheduled Sending",description:"Schedule SMS for future delivery to reach customers at the perfect time."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"feature-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"feature-icon emoji-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"feature-title",children:e.title}),(0,jt.jsx)("p",{className:"feature-description",children:e.description})]},t)))})]})}),(0,jt.jsx)("section",{id:"getting-started",className:"zapier-section getting-started-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"\ud83d\ude80 Getting Started"}),(0,jt.jsx)("p",{className:"section-description",children:"Connect DataFlows SMS to Zapier in 3 simple steps"})]}),(0,jt.jsxs)("div",{className:"steps-grid",children:[(0,jt.jsxs)("div",{className:"step-card","data-aos":"fade-right",children:[(0,jt.jsx)("div",{className:"step-number",children:"1"}),(0,jt.jsx)("h3",{children:"Get Your API Token"}),(0,jt.jsxs)("p",{children:["Sign up at ",(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noopener noreferrer",children:"sms.dataflows.com.au"})," and get your API token from Settings \u2192 Developers \u2192 API"]})]}),(0,jt.jsxs)("div",{className:"step-card","data-aos":"fade-right","data-aos-delay":"100",children:[(0,jt.jsx)("div",{className:"step-number",children:"2"}),(0,jt.jsx)("h3",{children:"Create Your First Zap"}),(0,jt.jsx)("p",{children:'In Zapier, search for "DataFlows SMS" and click "Sign in" when prompted'})]}),(0,jt.jsxs)("div",{className:"step-card","data-aos":"fade-right","data-aos-delay":"200",children:[(0,jt.jsx)("div",{className:"step-number",children:"3"}),(0,jt.jsx)("h3",{children:"Start Automating"}),(0,jt.jsx)("p",{children:"Choose a trigger or action and connect with 6,000+ apps to build powerful workflows"})]})]})]})}),(0,jt.jsx)("section",{id:"triggers",className:"zapier-section triggers-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"\u26a1 Triggers"}),(0,jt.jsx)("p",{className:"section-description",children:"Events that automatically start your Zaps"})]}
2),(0,jt.jsx)("div",{className:"triggers-grid",children:[{title:"New SMS Received",icon:"\ud83d\udce9",description:"Triggers instantly when your DataFlows virtual number receives an SMS message.",useCases:["Auto-reply to customer SMS","Log messages to Google Sheets","Create support tickets from SMS"],badge:"Instant",link:"/integrations/zapier/triggers/new-sms-received"},{title:"Keyword Matched in SMS",icon:"\ud83d\udd0d",description:"Triggers when an incoming SMS contains a specific keyword or phrase (STOP, HELP, custom commands).",useCases:["Handle STOP requests automatically","Customer loyalty programs","Event registration via SMS"],badge:"Instant",link:"/integrations/zapier/triggers/keyword-matched"},{title:"SMS Delivery Status Changed",icon:"\u2705",description:"Triggers when the delivery status of a sent SMS changes (Delivered, Failed, Bounced).",useCases:["Alert team on failed deliveries","Update CRM with delivery status","Monitor delivery rates"],badge:"Instant",link:"/integrations/zapier/triggers/sms-delivery-status"},{title:"Low Balance Alert",icon:"\ud83d\udcb0",description:"Triggers when your SMS credit balance drops below a threshold (default: 100 credits).",useCases:["Email billing team","Slack notifications","Auto-purchase credits"],badge:"Alert",link:"/integrations/zapier/triggers/low-balance-alert"}].map(((e,t)=>{const s=e.link?fe:"div",n=e.link?{to:e.link,style:{textDecoration:"none",color:"inherit"}}:{};return(0,jt.jsx)(s,{...n,children:(0,jt.jsxs)("div",{className:"trigger-card","data-aos":"fade-up","data-aos-delay":100*t,style:e.link?{cursor:"pointer"}:{},children:[e.badge&&(0,jt.jsx)("span",{className:"card-badge",children:e.badge}),(0,jt.jsx)("div",{className:"trigger-icon emoji-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"trigger-title",children:e.title}),(0,jt.jsx)("p",{className:"trigger-description",children:e.description}),(0,jt.jsxs)("div",{className:"use-cases",children:[(0,jt.jsx)("p",{className:"use-cases-label",children:"Use Cases:"}),(0,jt.jsx)("ul",{children:e.useCases.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]}),e.link&&(0,jt.jsx)("div",{className:"learn-more-indicator",children:"Learn More \u2192"})]})},t)}))})]})}),(0,jt.jsx)("section",{id:"actions",className:"zapier-section actions-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"\ud83c\udfaf Actions"}),(0,jt.jsx)("p",{className:"section-description",children:"Tasks your Zap performs automatically"})]}),(0,jt.jsx)("div",{className:"actions-grid",children:[{title:"Send SMS",icon:"\ud83d\udce4",description:"Send an SMS message to a single recipient. Optionally schedule for future delivery.",useCases:["Welcome SMS for new customers","Order confirmations","Appointment reminders"],link:"/integrations/zapier/actions/send-sms"},{title:"Create Contact",icon:"\ud83d\udc64",description:"Create a new contact and add them to a contact group in DataFlows SMS.",useCases:["Sync Mailchimp subscribers","Add webinar registrants","E-commerce customer lists"],link:"/integrations/zapier/actions/create-contact"},{title:"Categorise SMS With AI",icon:"\ud83c\udff7\ufe0f",description:"Use advanced AI to automatically categorise SMS messages into your custom categories.",useCases:["Route SMS to right department","Prioritise support tickets","Auto-tag emails by category"],badge:"AI",link:"/integrations/zapier/actions/categorise-sms-ai"},{title:"Analyse SMS Sentiment With AI",icon:"\ud83d\ude0a",description:"Use advanced AI to analyse sentiment of SMS messages (Positive, Negative, Neutral).",useCases:["Priority support for angry customers","Happy customer follow-ups","Sentiment dashboard tracking"],badge:"AI",link:"/integrations/zapier/actions/analyse-sentiment-ai"}].map(((e,t)=>{const s=e.link?fe:"div",n=e.link?{to:e.link,style:{textDecoration:"none",color:"inherit"}}:{};return(0,jt.jsx)(s,{...n,children:(0,jt.jsxs)("div",{className:"action-card","data-aos":"fade-up","data-aos-delay":100*t,style:e.link?{cursor:"pointer"}:{},children:[e.badge&&(0,jt.jsx)("span",{className:"card-badge ai-badge",children:e.badge}),(0,jt.jsx)("div",{className:"action-icon emoji-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"action-title",children:e.title}),(0,jt.jsx)("p",{className:"action-description",children:e.description}),(0,jt.jsxs)("div",{className:"use-cases",children:[(0,jt.jsx)("p",{className:"use-cases-label",children:"Examples:"}),(0,jt.jsx)("ul",{children:e.useCases.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]}),e.link&&(0,jt.jsx)("div",{className:"learn-more-indicator",children:"Learn More \u2192"})]})},t)}))})]})}),(0,jt.jsx)("section",{id:"use-cases",className:"zapier-section use-cases-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"\ud83d\udca1 Real-World Use Cases"}),(0,jt.jsx)("p",{className:"section-description",children:"See how businesses automate SMS workflows with Zapier"})]}),[{category:"E-Commerce & Retail",icon:"\ud83d\uded2",examples:[{title:"Order Status Upd
2ates",description:"Shopify order changes \u2192 Send SMS with tracking link",apps:"Shopify + DataFlows SMS"},{title:"Abandoned Cart Recovery",description:"Abandoned cart \u2192 Send SMS reminder with discount code",apps:"Shopify + DataFlows SMS"},{title:"Customer Review Requests",description:"Positive sentiment \u2192 Ask for review",apps:"DataFlows SMS + Sentiment AI"}]},{category:"Customer Support",icon:"\ud83d\udcac",examples:[{title:"Intelligent Ticket Routing",description:"Categorise SMS \u2192 Route to correct Zendesk department",apps:"DataFlows SMS + Categorisation + Zendesk"},{title:"VIP Customer Alerts",description:"SMS from VIP + negative sentiment \u2192 Alert manager",apps:"DataFlows SMS + Sentiment + Slack"}]},{category:"Healthcare & Appointments",icon:"\ud83c\udfe5",examples:[{title:"Appointment Reminders",description:"Calendar event 24h before \u2192 Send SMS reminder",apps:"Google Calendar + DataFlows SMS"},{title:"Prescription Refill Requests",description:"Keyword REFILL \u2192 Auto-reply with refill status",apps:"DataFlows SMS + Keyword Match + Airtable"}]},{category:"Marketing & Sales",icon:"\ud83d\udcc8",examples:[{title:"Lead Qualification",description:"Categorise intent \u2192 Update HubSpot with lead score",apps:"DataFlows SMS + Categorisation + HubSpot"},{title:"SMS Drip Campaign",description:"New lead \u2192 Welcome SMS \u2192 Day 3: Info \u2192 Day 7: Offer",apps:"Airtable + DataFlows SMS + Delay"}]}].map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-category","data-aos":"fade-up",children:[(0,jt.jsxs)("h3",{className:"category-title",children:[(0,jt.jsx)("span",{className:"category-icon",children:e.icon}),e.category]}),(0,jt.jsx)("div",{className:"examples-grid",children:e.examples.map(((e,t)=>(0,jt.jsxs)("div",{className:"example-card",children:[(0,jt.jsx)("h4",{children:e.title}),(0,jt.jsx)("p",{className:"example-description",children:e.description}),(0,jt.jsxs)("p",{className:"example-apps",children:[(0,jt.jsx)("strong",{children:"Apps:"})," ",e.apps]})]},t)))})]},t)))]})}),(0,jt.jsx)("section",{id:"best-practices",className:"zapier-section best-practices-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"\u2728 Best Practices"}),(0,jt.jsx)("p",{className:"section-description",children:"Pro tips for building effective SMS automation workflows"})]}),[{category:"Message Quality",icon:"\u2728",tips:[{title:"Personalisation",bad:"Your order has shipped",good:"Hi Sarah, your order #1234 has shipped!"},{title:"Clear Call-to-Action",bad:"Check your email for details",good:"Track your package: example.com/track/abc123"},{title:"Character Limits",tip:"Keep under 160 chars for single SMS segment to save costs"}]},{category:"AI Actions",icon:"\ud83e\udd16",tips:[{title:"Provide Good Categories",bad:"Type 1, Type 2, Type 3",good:"Delivery Issue, Billing Question, Product Inquiry"},{title:"Use Category Descriptions",tip:"Help AI understand context: 'package lost, late delivery, tracking not working'"},{title:"Confidence Thresholds",tip:"Only act on high confidence (>0.7). Low confidence (<0.6) \u2192 route to human"}]}].map(((e,t)=>(0,jt.jsxs)("div",{className:"practice-category","data-aos":"fade-up",children:[(0,jt.jsxs)("h3",{className:"practice-title",children:[(0,jt.jsx)("span",{className:"practice-icon",children:e.icon}),e.category]}),(0,jt.jsx)("div",{className:"tips-grid",children:e.tips.map(((e,t)=>(0,jt.jsxs)("div",{className:"tip-card",children:[(0,jt.jsx)("h4",{children:e.title}),e.bad&&(0,jt.jsxs)("p",{className:"comparison",children:[(0,jt.jsxs)("span",{className:"bad",children:["\u274c Bad: ",e.bad]}),(0,jt.jsxs)("span",{className:"good",children:["\u2705 Good: ",e.good]})]}),e.tip&&(0,jt.jsx)("p",{className:"tip-text",children:e.tip})]},t)))})]},t)))]})}),(0,jt.jsx)("section",{id:"troubleshooting",className:"zapier-section troubleshooting-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"\ud83d\udd27 Troubleshooting"}),(0,jt.jsx)("p",{className:"section-description",children:"Common issues and their solutions"})]}),(0,jt.jsxs)("div",{className:"troubleshooting-grid",children:[(0,jt.jsxs)("div",{className:"issue-card","data-aos":"fade-up",children:[(0,jt.jsx)("h3",{children:"Invalid API token error"}),(0,jt.jsxs)("div",{className:"solution",children:[(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Get fresh API token from https://sms.dataflows.com.au/developers/api"}),(0,jt.jsx)("li",{children:"Copy entire token (no spaces)"}),(0,jt.jsx)("li",{children:"Reconnect in Zapier"})]})]})]}),(0,jt.jsxs)("div",{className:"issue-card","data-aos":"fade-up","data-aos-delay":"100",children:[(0,jt.jsx)("h3",{children:"Phone numbers not in correct format"}),(0,jt.jsxs)("div",{className:"solution",children:[(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Use Zapier Formatter to convert to E.164 format"}),(0,jt.jsx)("li",{children:"Add country code (+61 for Australia)"}),(0,jt.jsx)("li",{children:"Remove spaces and special characters"})]})]})]}),(0,jt.jsxs)("div",{className:"issue-card","data-aos":"fade-up","data-aos-delay":"200",children:[(0,jt.jsx)("h3",{children:"AI categorisation returning wrong category"}),(0,jt.jsxs)("div",{className:"solution",children:[(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Improve category descriptions with more keywords"}),(0,jt.jsx)("li",{children:"Use more specific category names"}),(0,jt.jsx)("li",{children:"Check confidence score - if low (<0.
26), route to human"})]})]})]}),(0,jt.jsxs)("div",{className:"issue-card","data-aos":"fade-up","data-aos-delay":"300",children:[(0,jt.jsx)("h3",{children:"SMS not sending"}),(0,jt.jsxs)("div",{className:"solution",children:[(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Check account has sufficient credits"}),(0,jt.jsx)("li",{children:"Verify recipient number is valid"}),(0,jt.jsx)("li",{children:"Check sender ID is approved"}),(0,jt.jsx)("li",{children:"Review Zap history for API errors"})]})]})]})]})]})}),(0,jt.jsx)("section",{className:"zapier-faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("div",{className:"section-header",children:(0,jt.jsx)("h2",{className:"section-title",children:"Frequently Asked Questions"})}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"How do I connect DataFlows SMS to Zapier?",answer:"Create a new Zap in Zapier, search for 'DataFlows SMS', and sign in with your API token. You can find your API token at: https://sms.dataflows.com.au/developers/api"},{question:"Are the triggers instant or polling-based?",answer:"All DataFlows SMS triggers are instant webhooks with no polling delays. You'll receive notifications in real-time as soon as events occur."},{question:"What AI models power the sentiment and categorisation?",answer:"We use advanced AI technology for both sentiment analysis and message categorisation, providing accurate results with confidence scores."},{question:"Can I schedule SMS for future delivery?",answer:"Yes! The Send SMS action includes an optional Schedule Time field where you can specify when the message should be sent."},{question:"How do I handle phone number formatting?",answer:"Phone numbers must be in E.164 format (+61400000000). Use Zapier's Formatter tool to convert numbers if needed."},{question:"What happens if my account runs out of credits?",answer:"The Low Balance Alert trigger will notify you when credits drop below 100. You can set up automatic top-up workflows or email notifications to your billing team."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item","data-aos":"fade-up","data-aos-delay":50*t,children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"zapier-cta","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"cta-content",children:[(0,jt.jsx)("h2",{children:"Ready to Automate Your SMS Workflows?"}),(0,jt.jsx)("p",{children:"Connect DataFlows SMS with 6,000+ apps and start building powerful automations today."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://zapier.com/apps/dataflows-sms",className:"btn btn-primary",onClick:()=>r("zapier_cta_clicked"),target:"_blank",rel:"noopener noreferrer",children:"Get Started with Zapier"}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",className:"btn btn-secondary",onClick:()=>r("signup_cta_clicked"),children:"Sign Up for DataFlows"})]})]})})}),t&&(0,jt.jsx)("button",{className:"scroll-to-top",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},"aria-label":"Scroll to top",children:"\u2191"}),(0,jt.jsx)(bt,{})]})},no=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const n=function(e){"undefined"!==typeof gtag&&gtag("event",e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})},i={title:"Supabase SMS Integration",subtitle:"Send OTP & SMS from Supabase Edge Functions",description:"Add SMS authentication to your Supabase project with our open-source Edge Function. Send OTP verification codes, enable phone-based login, and replace expensive providers like Twilio with cost-effective Australian SMS delivery.",primaryCta:{text:"View on GitHub",href:"https://github.com/dataflows-au/supabase-sms-hook",onClick:()=>n("supabase_github_clicked")},secondaryCta:{text:"Get API Key",href:"https://sms.dataflows.com.au/register"}},r=[{step:1,title:"Get DataFlows Credentials",description:"Sign up for a DataFlows account and retrieve your API Token and Sender ID from the Developer Settings page.",code:null},{step:2,title:"Clone the Edge Function",description:"Copy the Edge Function code from our GitHub repository to your Supabase project's functions directory.",code:"supabase functions new send-sms-hook\n# Copy the function code from GitHub"},{step:3,title:"Configure Secrets",description:"Set up the required environment variables for secure API communication with DataFlows.",code:"supabase secrets set DATAFLOWS_API_KEY=your_api_key\nsupabase secrets set DATAFLOWS_SENDER_ID=your_sender_id\nsupabase secrets set SEND_SMS_HOOK_SECRET=your_webhook_secret"},{step:4,title:"Deploy the Function",description:"Deploy your Edge Function to Supabase's global edge network for low-latency execution.",code:"supabase functions deploy send-sms-hook"}
2,{step:5,title:"Configure Auth Hook",description:"In your Supabase Dashboard, navigate to Authentication \u2192 Hooks \u2192 Send SMS and register your function URL.",code:null},{step:6,title:"Enable Phone Provider",description:"Go to Authentication \u2192 Providers \u2192 Phone and select 'Hook' as the SMS delivery method. Generate and save the webhook secret.",code:null}],a={requestOtp:"// Request OTP for phone authentication\nconst { data, error } = await supabase.auth.signInWithOtp({\n  phone: '+61412345678'\n})\n\nif (error) {\n  console.error('Error sending OTP:', error.message)\n} else {\n  console.log('OTP sent successfully!')\n}",verifyOtp:"// Verify the OTP code\nconst { data, error } = await supabase.auth.verifyOtp({\n  phone: '+61412345678',\n  token: '123456',\n  type: 'sms'\n})\n\nif (error) {\n  console.error('Verification failed:', error.message)\n} else {\n  console.log('User verified:', data.user)\n}",customTemplate:'// Environment variable for custom OTP template\nOTP_MESSAGE_TEMPLATE="Your {{app_name}} code is: {{otp}}"\n\n// Default template if not specified\n"Your verification code is: {otp}"'};return(0,jt.jsxs)("div",{className:"supabase-integration-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Supabase SMS Integration \u2014 Send OTP & Phone Authentication | DataFlows"}),(0,jt.jsx)("meta",{name:"description",content:"Add SMS authentication to Supabase with our open-source Edge Function. Send OTP codes, enable phone login, and replace Twilio with cost-effective Australian SMS. Free GitHub repo included."}),(0,jt.jsx)("meta",{name:"keywords",content:"Supabase SMS, Supabase OTP, Supabase phone authentication, Supabase SMS verification, Supabase Edge Functions SMS, Supabase Auth SMS, Supabase Twilio alternative, send SMS from Supabase, Supabase phone login, Supabase SMS hook, Supabase SMS provider, Supabase authentication, phone verification Supabase, Supabase 2FA, two-factor authentication Supabase, Supabase Australia SMS, Supabase signInWithOtp, Supabase verifyOtp, passwordless login Supabase"}),(0,jt.jsx)("meta",{property:"og:title",content:"Supabase SMS Integration \u2014 OTP & Phone Authentication"}),(0,jt.jsx)("meta",{property:"og:description",content:"Open-source Supabase Edge Function for SMS authentication. Send OTP codes and enable phone login with DataFlows SMS API. Twilio alternative with Australian pricing."}),(0,jt.jsx)("meta",{property:"og:image",content:"https://dataflows.com.au/images/integrations/supabase/og-image.png"}),(0,jt.jsx)("meta",{property:"og:type",content:"website"}),(0,jt.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,jt.jsx)("meta",{name:"twitter:title",content:"Supabase SMS Integration \u2014 Send OTP from Edge Functions"}),(0,jt.jsx)("meta",{name:"twitter:description",content:"Add phone authentication to your Supabase app. Open-source Edge Function for OTP delivery via DataFlows SMS API."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/supabase")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"DataFlows Supabase SMS Integration",applicationCategory:"DeveloperApplication",operatingSystem:"Cloud",description:"Open-source Edge Function for sending SMS OTP and phone authentication in Supabase applications",offers:{"@type":"Offer",price:"0",priceCurrency:"AUD"},author:{"@type":"Organization",name:"DataFlows"}})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"Supabase",item:"https://dataflows.com.au/integrations/supabase"}]})})]}),(0,jt.jsx)("div",{className:"supabase-integration-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Supabase"}]})})}),(0,jt.jsx)(Ka,{...i}),(0,jt.jsx)("section",{className:"supabase-overview","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"overview-content",children:[(0,jt.jsxs)("div",{className:"overview-text",children:[(0,jt.jsx)("h2",{className:"section-title",children:"What is Supabase SMS Hook?"}),(0,jt.jsxs)("p",{className:"section-description left-align",children:["The ",(0,jt.jsx)("strong",{children:"DataFlows Supabase SMS Hook"}
2)," is an open-source Edge Function that enables SMS-based authentication for your Supabase project. It intercepts phone authentication requests from Supabase Auth and delivers OTP codes via the DataFlows SMS API."]}),(0,jt.jsx)("p",{className:"section-description left-align",children:"Unlike traditional SMS providers that require complex setup and expensive pricing tiers, this integration deploys in minutes and costs a fraction of alternatives like Twilio. The entire codebase is available on GitHub under the MIT license, giving you full transparency and customization control."}),(0,jt.jsxs)("div",{className:"overview-badges",children:[(0,jt.jsx)("span",{className:"badge",children:"Open Source"}),(0,jt.jsx)("span",{className:"badge",children:"MIT License"}),(0,jt.jsx)("span",{className:"badge",children:"Edge Functions"}),(0,jt.jsx)("span",{className:"badge",children:"TypeScript"})]})]}),(0,jt.jsx)("div",{className:"overview-graphic","data-aos":"fade-left",children:(0,jt.jsxs)("div",{className:"flow-diagram",children:[(0,jt.jsxs)("div",{className:"flow-step",children:[(0,jt.jsx)("div",{className:"flow-icon",children:"\ud83d\udc64"}),(0,jt.jsx)("div",{className:"flow-label",children:"User requests OTP"})]}),(0,jt.jsx)("div",{className:"flow-arrow",children:"\u2192"}),(0,jt.jsxs)("div",{className:"flow-step",children:[(0,jt.jsx)("div",{className:"flow-icon",children:"\u26a1"}),(0,jt.jsx)("div",{className:"flow-label",children:"Supabase Auth"})]}),(0,jt.jsx)("div",{className:"flow-arrow",children:"\u2192"}),(0,jt.jsxs)("div",{className:"flow-step",children:[(0,jt.jsx)("div",{className:"flow-icon",children:"\ud83d\udd17"}),(0,jt.jsx)("div",{className:"flow-label",children:"Edge Function"})]}),(0,jt.jsx)("div",{className:"flow-arrow",children:"\u2192"}),(0,jt.jsxs)("div",{className:"flow-step",children:[(0,jt.jsx)("div",{className:"flow-icon",children:"\ud83d\udcf1"}),(0,jt.jsx)("div",{className:"flow-label",children:"SMS Delivered"})]})]})})]})})}),(0,jt.jsx)("section",{className:"supabase-features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Features & Capabilities"}),(0,jt.jsx)("p",{className:"section-description",children:"Everything you need to implement SMS authentication in your Supabase application"})]}),(0,jt.jsx)("div",{className:"features-grid",children:[{icon:"\ud83d\udd10",title:"OTP Phone Authentication",description:"Enable secure phone number verification for your Supabase Auth users. Send one-time passwords (OTP) via SMS for user registration, login, and two-factor authentication with industry-standard security."},{icon:"\u26a1",title:"Edge Function Deployment",description:"Deploy directly to Supabase Edge Functions with zero configuration complexity. Our TypeScript-based hook integrates seamlessly with Supabase's serverless infrastructure for low-latency SMS delivery worldwide."},{icon:"\ud83d\udd12",title:"Webhook Security",description:"Built-in webhook signature validation ensures only legitimate requests from your Supabase project trigger SMS sends. Protect against unauthorized API usage with cryptographic verification."},{icon:"\ud83d\udcb0",title:"Cost-Effective Alternative",description:"Replace expensive SMS providers like Twilio with DataFlows' competitive pricing. Send Australian SMS from just 3.5\xa2 per message with no monthly fees, contracts, or hidden charges."},{icon:"\ud83c\udf0f",title:"Australian & International",description:"Optimized for Australian businesses with local number support, plus international SMS delivery to 200+ countries. Perfect for APAC-focused applications requiring reliable SMS infrastructure."},{icon:"\ud83d\udcdd",title:"Customizable Templates",description:"Personalize your OTP messages with custom templates. Configure sender IDs, message content, and branding to match your application's identity and user experience requirements."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"feature-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"feature-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"feature-title",children:e.title}),(0,jt.jsx)("p",{className:"feature-description",children:e.description})]},t)))})]})}),(0,jt.jsx)("section",{className:"supabase-use-cases","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Use Cases for Supabase SMS"}),(0,jt.jsx)("p",{className:"section-description",children:"Common sce
2narios where SMS authentication enhances your Supabase application"})]}),(0,jt.jsx)("div",{className:"use-cases-grid",children:[{icon:"\ud83d\udcf1",title:"Phone Number Login",description:"Allow users to sign in with their phone number instead of email. Perfect for mobile-first applications where phone verification provides better user experience and higher conversion rates.",keywords:["Supabase phone login","passwordless authentication","mobile sign-in"]},{icon:"\u2705",title:"User Verification",description:"Verify user phone numbers during registration to reduce fake accounts and improve security. Essential for marketplaces, financial apps, and platforms requiring identity verification.",keywords:["phone verification","user validation","identity confirmation"]},{icon:"\ud83d\udee1\ufe0f",title:"Two-Factor Authentication",description:"Add an extra layer of security with SMS-based 2FA. Protect user accounts from unauthorized access by requiring both password and OTP verification for sensitive operations.",keywords:["2FA","two-factor auth","SMS security"]},{icon:"\ud83d\udd14",title:"Transactional Notifications",description:"Extend beyond authentication to send order confirmations, appointment reminders, delivery updates, and other critical notifications directly from your Supabase backend.",keywords:["SMS notifications","transactional SMS","alerts"]}].map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"use-case-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"use-case-title",children:e.title}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsx)("div",{className:"use-case-keywords",children:e.keywords.map(((e,t)=>(0,jt.jsx)("span",{className:"keyword-tag",children:e},t)))})]},t)))})]})}),(0,jt.jsx)("section",{className:"supabase-setup","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Step-by-Step Setup Guide"}),(0,jt.jsx)("p",{className:"section-description",children:"Deploy the Supabase SMS Hook to your project in 6 simple steps"})]}),(0,jt.jsx)("div",{className:"setup-steps",children:r.map(((e,t)=>(0,jt.jsxs)("div",{className:"setup-step","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsxs)("div",{className:"step-header",children:[(0,jt.jsx)("div",{className:"step-number",children:e.step}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{className:"step-title",children:e.title}),(0,jt.jsx)("p",{className:"step-description",children:e.description})]})]}),e.code&&(0,jt.jsx)("div",{className:"step-code",children:(0,jt.jsx)("pre",{children:(0,jt.jsx)("code",{children:e.code})})})]},e.step)))}),(0,jt.jsx)("div",{className:"setup-cta",children:(0,jt.jsxs)("a",{href:"https://github.com/dataflows-au/supabase-sms-hook",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("supabase_github_clicked",{source:"setup-guide"}),children:[(0,jt.jsx)("svg",{className:"github-icon",viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20",children:(0,jt.jsx)("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"})}),"View Full Setup on GitHub"]})})]})}),(0,jt.jsx)("section",{className:"supabase-code-examples","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Code Examples"}),(0,jt.jsx)("p",{className:"section-description",children:"Integrate SMS authentication into your Supabase client application"})]}),(0,jt.jsxs)("div",{className:"code-examples-grid",children:[(0,jt.jsxs)("div",{className:"code-example","data-aos":"fade-right",children:[(0,jt.jsx)("h3",{className:"code-example-title",children:"Request OTP"}),(0,jt.jsx)("p",{className:"code-example-description",children:"Send a one-time password to the user's phone number"}),(0,jt.jsx)("div",{className:"code-block",children:(0,jt.jsx)("pre",{children:(0,jt.jsx)("code",{children:a.requestOtp})})})]}),(0,jt.jsxs)("div",{className:"code-example","data-aos":"fade-left",children:[(0,jt.jsx)("h3",{className:"code-example-title",children:"Verify OTP"}),(0,jt.jsx)("p",{className:"code-example-description",children:"Validate the code entered by the user"}),(0,jt.jsx)("div",{className:"code-block",children:(0,jt.jsx)("pre",{children:(0,jt.jsx)("code",{children:a.verifyOtp})})})]})]}),(0,jt.jsxs)("div",{className:"code-example full-width","data-aos":"fade-up",children:[(0,jt.jsx)("h3",{className:"code-example-title",children:"Custom Message Template"}),(0,jt.jsx)("p",{className:"code-example-description",children:"Personalize your OTP messages with custom branding"}),(0,jt.jsx)("div",{className:"code-block",children:(0,jt.jsx)("pre",{children:(0,jt.jsx)("code",{children:a.customTemplate})})})]})]})}),(0,jt.jsx)("section",{className:"supabase-comparison","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"DataFlows vs Twilio for Supabase"}),(0,jt.jsx)("p",{className:"section-description",children:"Why developers choose DataFlows as their Supabase SMS provider"})]}),(0,jt.jsx)("div",{className:"comparison-table-wrapper",children:(0,jt.jsxs)("table",{className:"comparison-table",children:[(0,jt.jsx)("thead",{children:(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("th",{children:"Feature"}),(0,jt.jsx)("th",{className:"highlight",children:"DataFlows"}),(0,jt.jsx)("th",{children:"Twilio"}),(0,jt.jsx)("th",{children:"Savings"})]})}),(0,jt.jsx)("tbody",{children:[{feature:"Australian SMS",dataflows:"3.5\xa2",twilio:"7.5\xa2+",savings:"53%"},{feature:"Monthly Fee",dataflows:"None",twilio:"$0-15+",savings:"100%"},{feature:"Inbound SMS",dataflows:"Free",twilio:"0.75\xa2+",savings:"100%"}
2,{feature:"Setup Time",dataflows:"Minutes",twilio:"Hours",savings:"-"},{feature:"Contract Required",dataflows:"No",twilio:"Sometimes",savings:"-"}].map(((e,t)=>(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("td",{children:e.feature}),(0,jt.jsx)("td",{className:"highlight",children:e.dataflows}),(0,jt.jsx)("td",{children:e.twilio}),(0,jt.jsx)("td",{className:"savings",children:e.savings})]},t)))})]})})]})}),(0,jt.jsx)("section",{className:"supabase-benefits","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"benefits-content",children:[(0,jt.jsxs)("div",{className:"benefits-text",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Why Use This Integration?"}),(0,jt.jsx)("ul",{className:"benefits-list",children:["Open-source and fully customizable \u2014 modify the code to fit your exact requirements","No vendor lock-in \u2014 switch providers or self-host without rewriting your authentication flow","Australian data sovereignty \u2014 messages processed through Australian infrastructure","Instant activation \u2014 no lengthy approval processes or account verification delays","Prepaid credits \u2014 only pay for what you use with no monthly minimums"].map(((e,t)=>(0,jt.jsxs)("li",{className:"benefit-item","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsxs)("svg",{className:"benefit-check",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",children:[(0,jt.jsx)("circle",{cx:"12",cy:"12",r:"12",fill:"#3ECF8E",fillOpacity:"0.1"}),(0,jt.jsx)("path",{d:"M17.707 8.293a1 1 0 010 1.414l-7 7a1 1 0 01-1.414 0l-3-3a1 1 0 111.414-1.414L10 14.586l6.293-6.293a1 1 0 011.414 0z",fill:"#3ECF8E"})]}),e]},t)))})]}),(0,jt.jsxs)("div",{className:"benefits-specs","data-aos":"fade-left",children:[(0,jt.jsx)("h3",{className:"specs-title",children:"Technical Specifications"}),(0,jt.jsx)("div",{className:"specs-grid",children:[{label:"Runtime",value:"Deno (Supabase Edge Functions)"},{label:"Language",value:"TypeScript"},{label:"License",value:"MIT (Open Source)"},{label:"Auth Methods",value:"OTP, Phone Login, 2FA"},{label:"API Format",value:"REST / JSON"},{label:"Webhook Security",value:"HMAC-SHA256 Signature"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"spec-item",children:[(0,jt.jsx)("span",{className:"spec-label",children:e.label}),(0,jt.jsx)("span",{className:"spec-value",children:e.value})]},t)))})]})]})})}),(0,jt.jsx)("section",{className:"supabase-pricing","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"pricing-content",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Simple, Transparent Pricing"}),(0,jt.jsx)("p",{className:"pricing-subtitle",children:"The Edge Function is free. You only pay for SMS sent."}),(0,jt.jsxs)("div",{className:"pricing-grid",children:[(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"Free"}),(0,jt.jsx)("div",{className:"price-label",children:"Edge Function"}),(0,jt.jsx)("div",{className:"price-note",children:"Open-source, MIT license"})]}),(0,jt.jsxs)("div",{className:"pricing-item featured",children:[(0,jt.jsx)("div",{className:"price",children:"3.5\xa2"}),(0,jt.jsx)("div",{className:"price-label",children:"Per SMS (Australia)"}),(0,jt.jsx)("div",{className:"price-note",children:"No monthly fees"})]}),(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"Free"}),(0,jt.jsx)("div",{className:"price-label",children:"Inbound SMS"}),(0,jt.jsx)("div",{className:"price-note",children:"Replies are free"})]})]}),(0,jt.jsxs)("div",{className:"pricing-cta",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("signup_cta_clicked",{source:"supabase-pricing"}),children:"Get Free API Key"}),(0,jt.jsx)("a",{href:"/contact-us",className:"cta-button secondary",onClick:()=>n("contact_support_clicked",{integration:"supabase"}),children:"Enterprise Pricing"})]})]})})}),(0,jt.jsx)("section",{className:"supabase-faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"How does the Supabase SMS Hook work?",answer:"When a user requests phone authentication in your Supabase app, Supabase Auth triggers the Edge Function webhook. The function receives the phone number and OTP, validates the webhook signature for security, then sends the SMS via DataFlows API. The entire process happens in milliseconds."},{question:"Is this a replacement for Twilio in Supabase?",answer:"Yes! This integration serves as a cost-effective alternative to Twilio for Supabase SMS authentication. You get the same functionality\u2014OTP delivery, phone verification, and SMS authentication\u2014at a fraction of the cost, especially for Australian traffic."},{question:"Can I use this for non-authentication SMS?",answer:"Absolutely. While the primary use case is Supabase Auth OTP delivery, you can call the DataFlows API directly from any Edge Function or server-side code to send transactional SMS, notifications, alerts, and marketing messages."},{question:"What phone number formats are supported?",answer:"The integration supports E.164 international format (e.g., +61412345678 for Australian numbers). All major country codes are supported, with optimized rout
2ing for Australian, New Zealand, and APAC destinations."},{question:"How do I customize the OTP message template?",answer:"Set the OTP_MESSAGE_TEMPLATE environment variable with your custom message. Use {otp} as a placeholder for the verification code. For example: 'Your AppName verification code is: {otp}. Valid for 10 minutes.'"},{question:"Is the webhook secure?",answer:"Yes. The Edge Function validates every incoming request using HMAC-SHA256 signature verification. Only requests signed with your Supabase webhook secret are processed, preventing unauthorized SMS sends."},{question:"What happens if SMS delivery fails?",answer:"The Edge Function returns appropriate error responses to Supabase Auth, which handles retry logic. DataFlows provides delivery status callbacks and dashboard visibility so you can monitor success rates and troubleshoot issues."},{question:"Can I test locally before deploying?",answer:"Yes! Use the Supabase CLI to run Edge Functions locally with environment variables in a .env file. This allows you to test the integration without affecting production users."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item","data-aos":"fade-up","data-aos-delay":50*t,children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"supabase-keywords","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Related Topics"}),(0,jt.jsxs)("div",{className:"keywords-cloud",children:[(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"keyword-link",children:"Zapier SMS Integration"}),(0,jt.jsx)(fe,{to:"/integrations/power-automate",className:"keyword-link",children:"Power Automate SMS"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Supabase Authentication"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Phone OTP Verification"}),(0,jt.jsx)("span",{className:"keyword-link",children:"SMS API Australia"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Edge Functions"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Serverless SMS"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Twilio Alternative"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Two-Factor Authentication"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Passwordless Login"})]})]})}),(0,jt.jsx)("section",{className:"supabase-final-cta",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"cta-content","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{className:"cta-title",children:"Ready to Add SMS to Your Supabase Project?"}),(0,jt.jsx)("p",{className:"cta-description",children:"Deploy the open-source Edge Function in minutes and start sending OTP messages to your users today."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsxs)("a",{href:"https://github.com/dataflows-au/supabase-sms-hook",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("supabase_github_clicked",{source:"final-cta"}),children:[(0,jt.jsx)("svg",{className:"github-icon",viewBox:"0 0 24 24",fill:"currentColor",width:"20",height:"20",children:(0,jt.jsx)("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"})}),"Star on GitHub"]}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"cta-button secondary",onClick:()=>n("signup_cta_clicked",{source:"final-cta"}),children:"Get API Key"})]})]})})}),(0,jt.jsx)(bt,{}),(0,jt.jsx)("div",{className:"scroll-to-top "+(t?"show":""),onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,jt.jsx)("path",{d:"M12 5L19 12H16V19H8V12H5L12 5Z",fill:"currentColor"})})})]})},io=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const n=function(e){"undefined"!==typeof gtag&&gtag("event",e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})},i={title:"Auth0 SMS Integration",subtitle:"Official Auth0 Marketplace Partner \u2014 MFA & Passwordless SMS",description:"Add SMS-based multi-factor authentication and passwordless login to your Auth0 applications. Available as an official integration on the Auth0 Marketplace \u2014 install in one click and start sending verification codes through DataFlows' Australian SMS network.",primaryCta:{text:"Install from Auth0 Marketplace",href:"https://marketplace.auth0.com/integrations/dataflows-sms",onClick:()=>n("auth0_marketplace_clicked")},secondaryCta:{text:"Get API Key",href:"https://sms.dataflows.com.au/register"}},r=[{step:1,title:"Get DataFlows Credentials",description:"Sign up for a DataFlows account and retrieve your API Token and Sender ID from the Developer Settings page.",code:null},{step:2,title:"Install from Auth0 Marketplace",description:"Go to the Auth0 Marketplace listing for DataFlows SMS and click 'Add Integration'. Auth0 will automatically create the Action in your tenant's Send Phone Message flow.",code:null},{step:3,title:"Configure the Action",description:"Open the installed Action in your Auth0 Dashboard. The code is pre-loaded \u2014 you only need to add your DataFlows credentials as secrets.",code:"// dataflows-sms-action.js\nexports.onExecuteSendPhoneMessage = async (event, api) =>
2 {\n  const response = await fetch('https://api.dataflows.com.au/sms/send', {\n    method: 'POST',\n    headers: {\n      'Authorization': `Bearer ${event.secrets.DATAFLOWS_API_KEY}`,\n      'Content-Type': 'application/json'\n    },\n    body: JSON.stringify({\n      recipient: event.message_options.recipient,\n      sender_id: event.secrets.DATAFLOWS_SENDER_ID,\n      message: event.secrets.MESSAGE_TEMPLATE?.replace('{{code}}', event.message_options.text)\n               || `Your verification code is: ${event.message_options.text}`\n    })\n  });\n\n  if (!response.ok) {\n    throw new Error('SMS delivery failed');\n  }\n};"},{step:4,title:"Add Secrets",description:"In the Action editor, add your DataFlows credentials as secrets for secure storage.",code:"DATAFLOWS_API_KEY=your_api_key_here\nDATAFLOWS_SENDER_ID=your_sender_id\nMESSAGE_TEMPLATE=Your {{app_name}} code is: {{code}}"},{step:5,title:"Deploy & Activate",description:"Click 'Deploy' to publish the action, then drag it into the Send Phone Message flow to activate it.",code:null},{step:6,title:"Enable Phone MFA",description:"Go to Security \u2192 Multi-factor Auth \u2192 Phone Message. Enable it and select 'Custom' as the delivery provider.",code:null}],a={actionCode:"// Auth0 Action: DataFlows SMS Provider\nexports.onExecuteSendPhoneMessage = async (event, api) => {\n  const { recipient, text } = event.message_options;\n\n  // Build message with custom template or default\n  const template = event.secrets.MESSAGE_TEMPLATE || 'Your code is: {{code}}';\n  const message = template.replace('{{code}}', text);\n\n  // Send via DataFlows API\n  const response = await fetch('https://api.dataflows.com.au/sms/send', {\n    method: 'POST',\n    headers: {\n      'Authorization': `Bearer ${event.secrets.DATAFLOWS_API_KEY}`,\n      'Content-Type': 'application/json'\n    },\n    body: JSON.stringify({\n      recipient: recipient,\n      sender_id: event.secrets.DATAFLOWS_SENDER_ID,\n      message: message\n    })\n  });\n\n  if (!response.ok) {\n    const error = await response.text();\n    throw new Error(`SMS failed: ${error}`);\n  }\n\n  console.log('SMS sent successfully to', recipient);\n};",universalLogin:"// Enable MFA in your Auth0 Universal Login\n// In your Auth0 Dashboard:\n// 1. Go to Security \u2192 Multi-factor Auth\n// 2. Enable Phone Message\n// 3. Configure as required/optional\n\n// Or enforce via Auth0 Rules/Actions:\nexports.onExecutePostLogin = async (event, api) => {\n  // Require MFA for admin users\n  if (event.user.roles?.includes('admin')) {\n    api.multifactor.enable('any', { allowRememberBrowser: true });\n  }\n};",passwordless:"// Configure Passwordless SMS in Auth0\n// Dashboard \u2192 Authentication \u2192 Passwordless\n\n// Client-side implementation (Auth0 SDK):\nimport { Auth0Client } from '@auth0/auth0-spa-js';\n\nconst auth0 = new Auth0Client({\n  domain: 'your-tenant.au.auth0.com',\n  clientId: 'your_client_id'\n});\n\n// Start passwordless flow\nawait auth0.passwordlessStart({\n  connection: 'sms',\n  send: 'code',\n  phoneNumber: '+61412345678'\n});\n\n// Verify the code\nawait auth0.passwordlessLogin({\n  connection: 'sms',\n  phoneNumber: '+61412345678',\n  verificationCode: '123456'\n});"};return(0,jt.jsxs)("div",{className:"auth0-integration-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Auth0 SMS Integration \u2014 MFA & Passwordless Authentication | DataFlows"}),(0,jt.jsx)("meta",{name:"description",content:"Official Auth0 Marketplace integration by DataFlows. Add SMS MFA and passwordless login to Auth0 with cost-effective Australian SMS delivery. Install directly from the Auth0 Marketplace."}),(0,jt.jsx)("meta",{name:"keywords",content:"Auth0 SMS, Auth0 Marketplace, Auth0 MFA, Auth0 passwordless, Auth0 SMS provider, Auth0 Twilio alternative, Auth0 phone authentication, SMS multi-factor authentication, Auth0 Actions SMS, Auth0 OTP, Auth0 verification SMS, Auth0 Australia, passwordless SMS login, Auth0 custom SMS, SMS authentication Auth0, two-factor authentication Auth0, Auth0 phone MFA, Auth0 official integration"}),(0,jt.jsx)("meta",{property:"og:title",content:"Auth0 SMS Integration \u2014 Official Auth0 Marketplace Partner | DataFlows"}),(0,jt.jsx)("meta",{property:"og:description",content:"Official DataFlows SMS integration on the Auth0 Marketplace. Add SMS MFA and passwordless login to Auth0 with Australian SMS delivery."}),(0,jt.jsx)("meta",{property:"og:image",content:"https://dataflows.com.au/images/integrations/auth0/og-image.png"}),(0,jt.jsx)("meta",{property:"og:type",content:"website"}),(0,jt.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,jt.jsx)("meta",{name:"twitter:title",content:"Auth0 SMS Integration \u2014 Send MFA Codes via DataFlows"}),(0,jt.jsx)("meta",{name:"twitter:description",content:"Add phone-based authentication to Auth0. Open-source Action for SMS MFA and passwordless login."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/auth0")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"DataFlows Auth0 SMS Action",applicationCategory:"DeveloperApplication",operatingSystem:"Cloud",description:"Auth0 Action for sending SMS MFA and passwordless verification codes via DataFlows SMS API",offers:{"@type":"Offer",price:"0",priceCurrency:"AUD"},author:{"@type":"Organization",name:"DataFlows"}})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"Auth0",item:"https://dataflows.com.au/integrations/auth0"}]})})]}),(0,jt.jsx)("div",{className:"auth0-integration-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Auth0"}]})})}),(0,jt.jsx)(Ka,{...i}),(0,jt.jsx)("section",{className:"auth0-overview","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"overview-content",children:[(0,jt.jsxs)("div",{className:"overview-text",children:[(0,jt.jsx)("h2",{className:"section-title",children:"What is Auth0 SMS Action?"}),(0,jt.jsxs)("p",{className:"section-description left-align",children:[(0,jt.jsx)("strong",{children:"DataFlows SMS"})," is an official integration on the ",(0,jt.jsx)("a",{href:"https://marketplace.auth0.com/integrations/dataflows-sms",target:"_blank",rel:"noreferrer noopener",className:"inline-link",children:"Auth0 Marketplace"}),", enabling SMS-based authentication for your Auth0 applications. It intercepts phone message requests in the Send Phone Message flow and delivers verification codes through DataFlows' SMS API."]}),(0,jt.jsx)("p",{className:"section-description left-align",children:"Whether you need multi-factor authentication (MFA) to add a second layer of security, or passwordless login for a frictionless user experience, this integration provides a cost-effective alternative to Auth0's default Twilio provider \u2014 with Australian-based support and competitive pricing."}),(0,jt.jsxs)("div",{className:"overview-badges",children:[(0,jt.jsx)("span",{className:"badge badge-official",children:"Auth0 Marketplace"}),(0,jt.jsx)("span",{className:"badge",children:"Official Partner"}),(0,jt.jsx)("span",{className:"badge",children:"Auth0 Actions"}),(0,jt.jsx)("span",{className:"badge",children:"MFA Ready"})]})]}),(0,jt.jsx)("div",{className:"overview-graphic","data-aos":"fade-left",children:(0,jt.jsxs)("div",{className:"flow-diagram",children:[(0,jt.jsxs)("div",{className:"flow-step",children:[(0,jt.jsx)("div",{className:"flow-icon",children:"\ud83d\udc64"}),(0,jt.jsx)("div",{className:"flow-label",children:"User Login"})]}),(0,jt.jsx)("div",{className:"flow-arrow",children:"\u2192"}),(0,jt.jsxs)("div",{className:"flow-step",children:[(0,jt.jsx)("div",{className:"flow-icon",children:"\ud83d\udd10"}),(0,jt.jsx)("div",{className:"flow-label",children:"Auth0 MFA"})]}),(0,jt.jsx)("div",{className:"flow-arrow",children:"\u2192"}),(0,jt.jsxs)("div",{className:"flow-step",children:[(0,jt.jsx)("div",{className:"flow-icon",children:"\u26a1"}),(0,jt.jsx)("div",{className:"flow-label",children:"Action"})]}),(0,jt.jsx)("div",{className:"flow-arrow",children:"\u2192"}),(0,jt.jsxs)("div",{className:"flow-step",children:[(0,jt.jsx)("div",{className:"flow-icon",children:"\ud83d\udcf1"}),(0,jt.jsx)("div",{className:"flow-label",children:"SMS Sent"})]})]})})]})})}),(0,jt.jsx)("section",{className:"auth0-features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Features & Capabilities"}),(0,jt.jsx)("p",{className:"section-description",children:"Everything you need for SMS-based authentication in Auth0"})]}),(0,jt.jsx)("div",{className:"features-grid",children:[{icon:"\ud83d\udd10",title:"Multi-Factor Authentication",description:"Add SMS-based MFA to your Auth0 authentication flow. Send one-time passwords via SMS as a second factor, providing an additional layer of security for user accounts and sensitive operations."},{icon:"\ud83d\udcf1",title:"Passwordless SMS Login",description:"Enable passwordless authentication where users sign in using only their phone number. Users receive a one-time code via SMS, eliminating password fatigue and improving the user experience."},{icon:"\u26a1",title:"Auth0 Actions Integration",description:"Deploy as a custom Auth0 Action in the 'Send Phone Message' flow. Seamlessly intercepts SMS requests and routes them through DataFlows API with zero changes to your existing authentication logic."}
2,{icon:"\ud83d\udcb0",title:"Cost-Effective SMS Delivery",description:"Replace expensive default SMS providers with DataFlows' competitive pricing. Send Australian SMS from just 3.5\xa2 per message\u2014significantly cheaper than Twilio and other enterprise providers."},{icon:"\ud83c\udf0f",title:"Australian Infrastructure",description:"Optimized for Australian businesses with local SMS routing, faster delivery times, and competitive rates for domestic messages. Also supports international SMS to 200+ countries."},{icon:"\ud83d\udcdd",title:"Custom Message Templates",description:"Personalize your MFA and passwordless messages with custom templates. Use the {{code}} placeholder to insert verification codes into branded messages that match your application's voice."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"feature-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"feature-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"feature-title",children:e.title}),(0,jt.jsx)("p",{className:"feature-description",children:e.description})]},t)))})]})}),(0,jt.jsx)("section",{className:"auth0-use-cases","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Use Cases for Auth0 SMS"}),(0,jt.jsx)("p",{className:"section-description",children:"Common scenarios where SMS authentication enhances security"})]}),(0,jt.jsx)("div",{className:"use-cases-grid",children:[{icon:"\ud83c\udfe2",title:"Enterprise Applications",description:"Secure corporate applications with SMS-based MFA. Protect employee accounts, admin dashboards, and sensitive business systems with an additional authentication factor.",keywords:["enterprise MFA","corporate security","admin protection"]},{icon:"\ud83d\uded2",title:"E-Commerce Platforms",description:"Reduce account takeover fraud in online stores. Verify high-value transactions, protect customer accounts, and build trust with SMS-based security measures.",keywords:["ecommerce security","fraud prevention","transaction verification"]},{icon:"\ud83c\udfe5",title:"Healthcare & Finance",description:"Meet compliance requirements for sensitive industries. SMS MFA helps satisfy regulatory standards for protecting patient data, financial information, and personal records.",keywords:["HIPAA compliance","financial security","regulated industries"]},{icon:"\ud83d\udcf2",title:"Mobile-First Applications",description:"Provide frictionless authentication for mobile users. Passwordless SMS login eliminates typing passwords on small screens, improving conversion rates and user satisfaction.",keywords:["mobile authentication","passwordless login","user experience"]}].map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-card","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsx)("div",{className:"use-case-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"use-case-title",children:e.title}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsx)("div",{className:"use-case-keywords",children:e.keywords.map(((e,t)=>(0,jt.jsx)("span",{className:"keyword-tag",children:e},t)))})]},t)))})]})}),(0,jt.jsx)("section",{className:"auth0-setup","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Step-by-Step Setup Guide"}),(0,jt.jsx)("p",{className:"section-description",children:"Deploy the Auth0 SMS Action in 6 simple steps"})]}),(0,jt.jsx)("div",{className:"setup-steps",children:r.map(((e,t)=>(0,jt.jsxs)("div",{className:"setup-step","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsxs)("div",{className:"step-header",children:[(0,jt.jsx)("div",{className:"step-number",children:e.step}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{className:"step-title",children:e.title}),(0,jt.jsx)("p",{className:"step-description",children:e.description})]})]}),e.code&&(0,jt.jsx)("div",{className:"step-code",children:(0,jt.jsx)("pre",{children:(0,jt.jsx)("code",{children:e.code})})})]},e.step)))}),(0,jt.jsxs)("div",{className:"setup-cta",children:[(0,jt.jsx)("a",{href:"https://marketplace.auth0.com/integrations/dataflows-sms",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("auth0_marketplace_clicked",{source:"setup-guide"}),children:"Install from Auth0 Marketplace"}),(0,jt.jsxs)("p",{className:"setup-guide-link",children:["Prefer a full walkthrough with best practices?"," ",(0,jt.jsx)(fe,{to:"/blog/sms-mfa-auth0-dataflows-setup",className:"inline-link",children:"Read our step-by-step Auth0 SMS MFA setup guide"})]})]})]})}),(0,jt.jsx)("section",{className:"auth0-code-examples","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Code Examples"}),(0,jt.jsx)("p",{className:"section-description",children:"Implementation patterns for Auth0 SMS authentication"})]}),(0,jt.jsxs)("div",{className:"code-examples-grid",children:[(0,jt.jsxs)("div",{className:"code-example","data-aos":"fade-up",children:[(0,jt.jsx)("h3",{className:"code-example-title",children:"Auth0 Action Code"}),(0,jt.jsx)("p",{className:"code-example-description",children:"The complete Action code for sending SMS via DataFlows"}),(0,jt.jsx)("div",{className:"code-block",children:(0,jt.jsx)("pre",{children:(0,jt.jsx)("code",{children:a.actionCode})})})]}),(0,jt.jsxs)("div",{className:"code-example","data-aos":"fade-up",children:[(0,jt.jsx)("h3",{className:"code-example-title",children:"Enforce MFA via Actions"}),(0,jt.jsx)("p",{className:"code-example-description",children:"Require MFA for specific users or conditions"}),(0,jt.jsx)("div",{className:"code-block",children:(0,jt.jsx)("pre",{children:(0,jt.jsx)("code",{children:a.universalLogin})})})]}),(0,jt.jsxs)("div",{className:"code-example full-width","data-aos":"fade-up",children:[(0,jt.jsx)("h3",{className:"code-example-title",children:"Passwordless SMS Login"}),(0,jt.jsx)("p",{className:"code-example-description",children:"Client-side implementation for passwordless authentication"}),(0,jt.jsx)("div",{className:"code-block",children:(0,jt.jsx)("pre",{children:(0,jt.jsx)("code",{children:a.passwordless})})})]})]})]})}),(0,jt.jsx)("section",{className:"auth0-comparison","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"section-header",children:[(0,jt.jsx)("h2",{className:"section-title",children:"DataFlows vs Default Auth0 SMS"}),(0,jt.jsx)("p",{className:"section-description",children:"Why developers choose DataFlows for Auth0 SMS"})]}),(0,jt.jsx)("div",{className:"comparison-table-wrapper",children:(0,jt.jsxs)("table",{className:"comparison-table",children:[(0,jt.jsx)("thead",{children:(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("th",{children:"Feature"}),(0,jt.jsx)("th",{className:"highlight",children:"DataFlows"}),(0,jt.jsx)("th",{children:"Twilio (Default)"}),(0,jt.jsx)("th",{children:"Savings"})]})}),(0,jt.jsx)("tbody",{children:[{feature:"Australian SMS",dataflows:"3.5\xa2",twilio:"7.5\xa2+",savings:"53%"},{feature:"Monthly Fee",dataflows:"None",twilio:"$0-15+",savings:"100%"},{feature:"Setup Complexity",dataflows:"Simple",twilio:"Default",savings:"-"},{feature:"Custom Templates",dataflows:"Yes",twilio:"Limited",savings:"-"},{feature:"Local Support",dataflows:"Australia",twilio:"Global",savings:"-"}].map(((e,t)=>(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("td",{children:e.feature}),(0,jt.jsx)("td",{className:"highlight",children:e.dataflows}),(0,jt.jsx)("td",{children:e.twilio}),(0,jt.jsx)("td",{className:"savings",children:e.savings})]},t)))})]})})]})}),(0,jt.jsx)("section",{className:"auth0-benefits","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"benefits-content",children:[(0,jt.jsxs)("div",{className:"benefits-text",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Why Use This Integration?"}),(0,jt.jsx)("ul",{className:"benefits-list",children:["Official Auth0 Marketplace integration \u2014 vetted and listed by Auth0 directly","One
2-click install \u2014 no manual code setup, Auth0 handles the deployment","Australian data routing \u2014 faster SMS delivery for local users","Transparent pricing \u2014 no hidden fees, monthly minimums, or long-term contracts","Enterprise-ready \u2014 scales from startups to high-volume enterprise applications"].map(((e,t)=>(0,jt.jsxs)("li",{className:"benefit-item","data-aos":"fade-up","data-aos-delay":100*t,children:[(0,jt.jsxs)("svg",{className:"benefit-check",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",children:[(0,jt.jsx)("circle",{cx:"12",cy:"12",r:"12",fill:"#EB5424",fillOpacity:"0.1"}),(0,jt.jsx)("path",{d:"M17.707 8.293a1 1 0 010 1.414l-7 7a1 1 0 01-1.414 0l-3-3a1 1 0 111.414-1.414L10 14.586l6.293-6.293a1 1 0 011.414 0z",fill:"#EB5424"})]}),e]},t)))})]}),(0,jt.jsxs)("div",{className:"benefits-specs","data-aos":"fade-left",children:[(0,jt.jsx)("h3",{className:"specs-title",children:"Technical Specifications"}),(0,jt.jsx)("div",{className:"specs-grid",children:[{label:"Runtime",value:"Node.js 18 (Auth0 Actions)"},{label:"Auth Flow",value:"Send Phone Message"},{label:"Auth Methods",value:"MFA, Passwordless"},{label:"API Format",value:"REST / JSON"},{label:"Distribution",value:"Auth0 Marketplace"},{label:"Support",value:"Officially Supported"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"spec-item",children:[(0,jt.jsx)("span",{className:"spec-label",children:e.label}),(0,jt.jsx)("span",{className:"spec-value",children:e.value})]},t)))})]})]})})}),(0,jt.jsx)("section",{className:"auth0-pricing","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"pricing-content",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Simple, Transparent Pricing"}),(0,jt.jsx)("p",{className:"pricing-subtitle",children:"The Action is free. You only pay for SMS sent."}),(0,jt.jsxs)("div",{className:"pricing-grid",children:[(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"Free"}),(0,jt.jsx)("div",{className:"price-label",children:"Auth0 Action"}),(0,jt.jsx)("div",{className:"price-note",children:"Open-source code"})]}),(0,jt.jsxs)("div",{className:"pricing-item featured",children:[(0,jt.jsx)("div",{className:"price",children:"from 2.5\xa2"}),(0,jt.jsx)("div",{className:"price-label",children:"Per SMS (Australia)"}),(0,jt.jsx)("div",{className:"price-note",children:"on Business Plan"})]}),(0,jt.jsxs)("div",{className:"pricing-item",children:[(0,jt.jsx)("div",{className:"price",children:"Free"}),(0,jt.jsx)("div",{className:"price-label",children:"Inbound SMS"}),(0,jt.jsx)("div",{className:"price-note",children:"Replies are free"})]})]}),(0,jt.jsxs)("div",{className:"pricing-cta",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("signup_cta_clicked",{source:"auth0-pricing"}),children:"Get Free API Key"}),(0,jt.jsx)("a",{href:"/contact-us",className:"cta-button secondary",onClick:()=>n("contact_support_clicked",{integration:"auth0"}),children:"Enterprise Pricing"})]})]})})}),(0,jt.jsx)("section",{className:"auth0-faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"How does the Auth0 SMS Action work?",answer:"When a user triggers SMS-based authentication (MFA or passwordless login), Auth0 calls your custom Action in the 'Send Phone Message' flow. The Action receives the phone number and verification code, then sends the SMS through DataFlows API instead of Auth0's default provider."},{question:"Is this a replacement for Twilio in Auth0?",answer:"Yes! Auth0's default SMS provider is Twilio, which can be expensive especially for Australian traffic. This integration lets you use DataFlows instead, with significantly lower per-message costs and optimized Australian delivery."},{question:"Can I use custom Sender IDs?",answer:"Absolutely. Configure your DATAFLOWS_SENDER_ID secret with your registered business name or virtual number. Your SMS messages will display your brand instead of a random number, improving trust and recognition."},{question:"What Auth0 plans support custom SMS providers?",answer:"Auth0 Actions for Send Phone Message are available on all paid Auth0 plans. The free tier has limitations on custom Actions, so check your plan's features in the Auth0 dashboard."},{question:"How do I customize the verification message?",answer:"Set the MESSAGE_TEMPLATE secret with your custom text, using {{code}} as a placeholder for the verification code. For example: 'Your MyApp security code is: {{code}}. Valid for 10 minutes.'"},{question:"What happens if SMS delivery fails?",answer:"The Action throws an error, which Auth0 handles according to your flow configuration. Users typically see a retry option. DataFlows provides delivery status in your dashboard for troubleshooting."},{question:"Is this secure?",answer:"Yes. Your API credentials are stored as Auth0 Secrets, which are encrypted and never exposed to client-side code. The Action runs server-side in Auth0's secure infrastru
2cture."},{question:"Can I use this for both MFA and passwordless?",answer:"Yes! The same Action handles both use cases. Auth0 uses the Send Phone Message flow for all SMS-based authentication, whether it's a second factor (MFA) or the primary authentication method (passwordless)."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item","data-aos":"fade-up","data-aos-delay":50*t,children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"auth0-keywords","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{className:"section-title",children:"Related Topics"}),(0,jt.jsxs)("div",{className:"keywords-cloud",children:[(0,jt.jsx)(fe,{to:"/integrations/supabase",className:"keyword-link",children:"Supabase SMS Integration"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"keyword-link",children:"Zapier SMS Automation"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Auth0 Authentication"}),(0,jt.jsx)(fe,{to:"/blog/sms-mfa-auth0-dataflows-setup",className:"keyword-link",children:"Auth0 SMS MFA Setup Guide"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Passwordless Login"}),(0,jt.jsx)("span",{className:"keyword-link",children:"SMS API Australia"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Identity Management"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Twilio Alternative"}),(0,jt.jsx)("span",{className:"keyword-link",children:"SMS Verification"}),(0,jt.jsx)("span",{className:"keyword-link",children:"Phone Authentication"})]})]})}),(0,jt.jsx)("section",{className:"auth0-final-cta",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"cta-content","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{className:"cta-title",children:"Ready to Add SMS Authentication to Auth0?"}),(0,jt.jsx)("p",{className:"cta-description",children:"Install the official DataFlows integration directly from the Auth0 Marketplace and start sending secure verification codes in minutes."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://marketplace.auth0.com/integrations/dataflows-sms",target:"_blank",rel:"noreferrer noopener",className:"cta-button primary",onClick:()=>n("auth0_marketplace_clicked",{source:"final-cta"}),children:"Install from Auth0 Marketplace"}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"cta-button secondary",onClick:()=>n("signup_cta_clicked",{source:"final-cta"}),children:"Get API Key"})]})]})})}),(0,jt.jsx)(bt,{}),(0,jt.jsx)("div",{className:"scroll-to-top "+(t?"show":""),onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,jt.jsx)("path",{d:"M12 5L19 12H16V19H8V12H5L12 5Z",fill:"currentColor"})})})]})},ro=()=>{const[t,s]=(0,e.useState)(!1),[n,i]=(0,e.useState)(null);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const r=function(e){"undefined"!==typeof gtag&&gtag("event",e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})},a=[{q:"Does DataFlows SMS work with Shopify?",a:"Yes. DataFlows SMS is available on the Shopify App Store at apps.shopify.com/dataflows-sms. Install it directly from Shopify Admin and connect your DataFlows account using your API token."},{q:"Can I send automated order notifications via SMS on Shopify?",a:"Yes. The app supports 8 automated notification types including Order Confirmation, Shipping, Out for Delivery, Delivered, Cancelled, Refund, Welcome SMS, and Abandoned Cart Recovery. All are individually togglable and send automatically via Shopify webhooks."},{q:"Does the Shopify SMS app support two-way messaging?",a:"Yes. The inbox feature shows iMessage-style conversation threads grouped by customer phone number. You can view inbound messages and reply directly from inside Shopify Admin."},{q:"Is SMS marketing via Shopify compliant with Australian law?",a:"Yes. DataFlows is an ACMA-registered Originating Telco and fully compliant with the Spam Act 2003. STOP keyword is always active and cannot be disabled. Opt-outs are tracked per subscriber and honoured across all automations."},{q:"Can I use DataFlows SMS with Shopify Flow?",a:"Yes. The app includes a Send SMS action and an Add to SMS List action for Shopify Flow, allowing you to fire SMS from any Flow trigger such as a new order, loyalty point earned, or tag added."},{q:"What variables are available in SMS message templates?",a:"Templates support {{customer.first_name}}, {{order.name}}, {{shop.name}}, {{tracking_url}}, and {{checkout_url}}. Each of the 8 notification types has its own fully customisable message template."}];return(0,jt.jsxs)("div",{className:"shopify-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Shopify SMS App \u2014 Automated Order Notifications & Marketing | DataFlows"}),(0,jt.jsx)("meta",{name:"description",content:"Send automated SMS order notifications, abandoned cart recovery, and bulk campaigns from Shopify. ACMA-compliant Australian SMS. Available on the Shopify App Store."}),(0,jt.jsx)("meta",{name:"keywords",content:"Shopify SMS app, Shopify SMS notifications, Shopify order SMS, Shopify abandoned cart SMS, Shopify SMS marketing, Shopify SMS Australia, DataFlows Shopify, Shopify bulk SMS, Shopify Flow SMS, WooCommerce alternative SMS, Shopify SMS automation"}),(0,jt.jsx)("meta",{property:"og:title",content:"Shopify SMS App \u2014 Order Notifications & Marketing | DataFlows"}),(0,jt.jsx)("meta",{property:"og:description",content:"Automated SMS order notifications, two-way inbox, and bulk campaigns for Shopify. ACMA-compliant Australian SMS platform."}),(0,jt.jsx)("meta",{property:"og:type",content:"website"}),(0,jt.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/shopify")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"DataFlows SMS \u2014 Shopify App",applicationCategory:"BusinessApplication",operatingSystem:"Shopify",url:"https://apps.shopify.com/dataflows-sms",description:"Automated SMS order notifications, two-way inbox, bulk campaigns, and Shopify Flow integration for Australian businesses.",offers:{"@type":"Offer",price:"35.00",priceCurrency:"AUD"},author:{"@type":"Organization",name:"DataFlows",url:"https://dataflows.com.au"}})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"Shopify",item:"https://dataflows.com.au/integrations/shopify"}]})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:a.map((e=>
2({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}})))})})]}),(0,jt.jsx)(_t,{}),(0,jt.jsx)("div",{className:"shopify-breadcrumbs",children:(0,jt.jsx)("div",{className:"shopify-inner",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Shopify"}]})})}),(0,jt.jsx)("section",{className:"shopify-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"shopify-inner",children:[(0,jt.jsxs)("div",{className:"shopify-hero-badge",children:[(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,jt.jsx)("path",{d:"M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM15 19l-6-2.11V5l6 2.11V19z"})}),"Shopify App Store"]}),(0,jt.jsx)("h1",{className:"shopify-hero-title",children:"DataFlows SMS for Shopify"}),(0,jt.jsx)("p",{className:"shopify-hero-subtitle",children:"Automated order notifications, abandoned cart recovery, two-way inbox, and bulk SMS campaigns \u2014 all inside Shopify Admin. Built for Australian businesses, ACMA compliant."}),(0,jt.jsxs)("div",{className:"shopify-hero-actions",children:[(0,jt.jsxs)("a",{href:"https://apps.shopify.com/dataflows-sms",target:"_blank",rel:"noreferrer noopener",className:"shopify-btn-primary",onClick:()=>r("shopify_app_store_clicked",{source:"hero"}),children:["Install on Shopify",(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"currentColor",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z",clipRule:"evenodd"})})]}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"shopify-btn-outline",children:"Get API Key Free"})]}),(0,jt.jsxs)("div",{className:"shopify-hero-trust",children:[(0,jt.jsx)("span",{children:"\u2713 ACMA Registered Originating Telco"}),(0,jt.jsx)("span",{children:"\u2713 Spam Act 2003 Compliant"}),(0,jt.jsx)("span",{children:"\u2713 No lock-in contracts"})]})]})}),(0,jt.jsx)("section",{className:"shopify-section",id:"notifications","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"shopify-inner",children:[(0,jt.jsxs)("div",{className:"shopify-section-header",children:[(0,jt.jsx)("span",{className:"shopify-label",children:"Automated"}),(0,jt.jsx)("h2",{children:"8 Order Notification Types"}),(0,jt.jsx)("p",{children:"All notifications send automatically via Shopify webhooks \u2014 no manual action needed. Toggle each one on or off individually from your Shopify Admin."})]}),(0,jt.jsx)("div",{className:"shopify-notifications-grid",children:[{icon:"\ud83d\uded2",title:"Order Confirmation",desc:"SMS sent the moment a customer places an order."},{icon:"\ud83d\udce6",title:"Shipping Confirmation",desc:"SMS sent when the order is fulfilled and shipped."},{icon:"\ud83d\ude9a",title:"Out for Delivery",desc:"SMS sent when the carrier marks the order out for delivery."},{icon:"\u2705",title:"Delivered",desc:"SMS sent when the order is marked as delivered."},{icon:"\u274c",title:"Order Cancelled",desc:"SMS sent when an order is cancelled."},{icon:"\ud83d\udcb0",title:"Refund Confirmation",desc:"SMS sent when a refund is processed."},{icon:"\ud83d\udc4b",title:"Welcome SMS",desc:"SMS sent when a new customer account is created in Shopify."},{icon:"\ud83d\udecd\ufe0f",title:"Abandoned Cart Recovery",desc:"SMS sent to customers who left items in their cart, with a configurable delay from 5 minutes to 24 hours."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"shopify-notification-card","data-aos":"fade-up","data-aos-delay":50*t,children:[(0,jt.jsx)("span",{className:"shopify-notification-icon",children:e.icon}),(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]},t)))})]})}),(0,jt.jsx)("section",{className:"shopify-section shopify-section--dark",id:"templates","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"shopify-inner",children:[(0,jt.jsxs)("div",{className:"shopify-section-header",children:[(0,jt.jsx)("span",{className:"shopify-label",children:"Customisable"}),(0,jt.jsx)("h2",{children:"Message Templates"}),(0,jt.jsx)("p",{children:"Every notification type has its own fully customisable SMS template. Use personalisation variables to make every message feel personal."})]}),(0,jt.jsxs)("div",{className:"shopify-template-box",children:[(0,jt.jsxs)("div",{className:"shopify-template-preview",children:[(0,jt.jsxs)("div",{className:"shopify-template-bubble",children:["Hi ","{{customer.first_name}}",", your ","{{shop.name}}"," order ","{{order.name}}"," has been shipped! Track it here: ","{{tracking_url}}"]}),(0,jt.jsx)("span",{className:"shopify-template-label",children:"Shipping Confirmation example"})]}),(0,jt.jsxs)("div",{className:"shopify-variables",children:[(0,jt.jsx)("h3",{children:"Available Variables"}),(0,jt.jsx)("div",{className:"shopify-vars-grid",children:["{{customer.first_name}}","{{order.name}}","{{shop.name}}","{{tracking_url}}","{{checkout_url}}"].map((e=>(0,jt.jsx)("code",{children:e},e)))})]})]})]})}),(0,jt.jsx)("section",{className:"shopify-section",id:"features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"shopify-inner",children:[(0,jt.jsxs)("div",{className:"shopify-section-header",children:[(0,jt.jsx)("span",{className:"shopify-label",children:"Platform"}),(0,jt.jsx)("h2",{children:"Everything You Need to SMS at Scale"})]}),(0,jt.jsx)("div",{className:"shopify-features-grid",children:[{icon:"\ud83d\udcac",title:"Two-Way Inbox",desc:"iMessage-style conversation threads grouped by customer. Reply directly from Shopify Admin."},{icon:"\ud83d\udce2",title:"Bulk Campaigns",desc:"Broadcast to all opted-in subscribers in one click with AI-generated copy variants."},{icon:"\ud83e\udd16",title:"AI Copy Generator",desc:"Describe your promotion and get 3 ready-to-send SMS variants generated by AI."},{icon:"\ud83c\udfaf",title:"9 Audience Segments",desc:"Target All Subscribers, VIP, Lapsed, At-Risk, Abandoned Cart, Loyalty Members, and more."},{icon:"\ud83d\udcca",title:"Analytics",desc:"Track SMS sent, delivered, and failed with delivery rate breakdowns per notification type."},{icon:"\u26a1",title:"Shopify Flow",desc:"Use DataFlows SMS inside any Shopify Flow automation \u2014 trigger SMS from any Flow event."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"shopify-feature-card","data-aos":"fade-up","data-aos-delay":60*t,children:[(0,jt.jsx)("span",{className:"shopify-feature-icon",children:e.icon}),(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]},t)))})]})}),(0,jt.jsx)("section",{className:"shopify-section shopify-section--dark",id:"inbox","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"shopify-inner",children:(0,jt.jsxs)("div",{className:"shopify-two-col",children:[(0,jt.jsxs)("div",{className:"shopify-two-col-text",children:[(0,jt.jsx)("span",{className:"shopify-label",children:"Inbox"}),(0,jt.jsx)("h2",{children:"Two-Way SMS Conversations"}),(0,jt.jsx)("p",{children:"View all inbound messages from customers and reply directly from inside Shopify Admin. Conversations are grouped by customer phone number in an iMessage-style thread view."}),(0,jt.jsxs)("ul",{className:"shopify-checklist",children:[(0,jt.jsx)("li",{children:"Search conversations by phone or message content"}),(0,jt.jsx)("li",{children:"Auto-refreshes every 15 seconds with live indicator"}),(0,jt.jsx)("li",{children:"Message delivery status \u2014 Sending to Delivered"})]})]}),(0,jt.jsx)("div",{className:"shopify-inbox-preview",children:(0,jt.jsxs)("div",{className:"shopify-inbox-thread",children:[(0,jt.jsx)("div",{className:"shopify-msg shopify-msg--in",children:"Hi, when will my order arrive?"}),(0,jt.jsx)("div",{className:"shopify-msg shopify-msg--out",children:"Hi Sarah! Your order #1042 is out for delivery today. Track it: dataflows.com.au/track/1042"}),(0,jt.jsx)("div",{className:"shopify-msg shopify-msg--in",children:"Thanks! \ud83d\ude0a"})]})})]})})}),(0,jt.jsx)("section",{className:"shopify-section",id:"subscribers","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"shopify-inner",children:[(0,jt.jsxs)("div",{className:"shopify-section-header",children:[(0,jt.jsx)("span",{className:"shopify-label",children:"Compliance"}),(0,jt.jsx)("h2",{children:"Subscriber Management"}),(0,jt.jsx)("p",{children:"Sync customers from Shopify, manage opt-in status, and stay compliant with Australian SMS law."})]}),(0,jt.jsxs)("div",{className:"shopify-compliance-grid",children:[(0,jt.jsxs)("div",{className:"shopify-compliance-card",children:[(0,jt.jsx)("h3",{children:"Subscriber Sync"}),(0,jt.jsx)("p",{children:"Pull up to 250 Shopify customers with phone numbers in one click. View name, phone, email, opt-in status, and opt-in date for every subscriber."})]}),(0,jt.jsxs)("div",{className:"shopify-compliance-card",children:[(0,jt.jsx)("h3",{children:"Keywords"}),(0,jt.jsx)("p",{children:"Configure opt-in keyword (e.g. JOIN, VIP20), opt-in confirmation reply, opt-out keyword (beyond STOP), and HELP response message from Settings."})]}),(0,jt.jsxs)("div",{className:"shopify-compliance-card shopify-compliance-card--highlight",children:[(0,jt.jsx)("h3",{children:"Always Compliant"}),(0,jt.jsx)("p",{children:"STOP is always active and cannot be disabled \u2014 required by the Australian Spam Act, enforced by ACMA. Opt-outs are tracked per subscriber and honoured across all automations."})]})]})]})}),(0,jt.jsx)("section",{className:"shopify-section shopify-section--dark",id:"flow","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"shopify-inner",children:[(0,jt.jsxs)("div",{className:"shopify-section-header",children:[(0,jt.jsx)("span",{className:"shopify-label",children:"Shopify Flow"}),(0,jt.jsx)("h2",{children:"Use SMS in Any Shopify Automation"}),(0,jt.jsx)("p",{children:"DataFlows SMS works inside Shopify Flow, giving you two actions you can drop into any workflow."})]}),(0,jt.jsxs)("div",{className:"shopify-flow-grid",children:[(0,jt.jsxs)("div",{className:"shopify-flow-card",children:[(0,jt.jsx)("div",{className:"shopify-flow-card-icon",children:(0,jt.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07A19.5 19.5 0 013.07 9.81a19.79 19.79 0 01-3.07-8.63A2 2 0 012 0h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L6.91 7.91a16 16 0 006.16 6.16l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z"})})}),(0,jt.jsx)("h3",{children:"Send SMS Action"}),(0,jt.jsx)("p",{children:"Fire an SMS from any Flow trigger \u2014 new order, loyalty point earned, tag added, review submitted, and more."})]}),(0,jt.jsxs)("div",{className:"shopify-flow-card",children:[(0,jt.jsx)("div",{className:"shopify-flow-card-icon",children:(0,jt.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,jt.jsx)("path",{d:"M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"}),(0,jt.jsx)("circle",{cx:"9",cy:"7",r:"4"}),(0,jt.jsx)("path",{d:"M23 21v-2a4 4 0 00-3-3.87m-4-12a4 4 0 010 7.75"})]})}),(0,jt.jsx)("h3",{children:"Add to SMS List Action"}),(0,jt.jsx)("p",{children:"Add a customer to your DataFlows contact group directly from a Shopify Flow step \u2014 perfect for loyalty and VIP programmes."})]})]})]})}),(0,jt.jsx)("section",{className:"shopify-section",id:"faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"shopify-inner",children:[(0,jt.jsxs)("div",{className:"shopify-section-header",children:[(0,jt.jsx)("span",{className:"shopify-label",children:"FAQ"}),(0,jt.jsx)("h2",{children:"Frequently Asked Questions"})]}),(0,jt.jsx)("div",{className:"shopify-faq",children:a.map(((e,t)=>(0,jt.jsxs)("div",{className:"shopify-faq-item"+(n===t?" open":""),children:[(0,jt.jsxs)("button",{className:"shopify-faq-q",onClick:()=>i(n===t?null:t),children:[e.q,(0,jt.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M6 9l6 6 6-6"})})]}),(0,jt.jsx)("p",{className:"shopify-faq-a"+(n===t?"":" shopify-faq-a--hidden"),children:e.a})]},t)))})]})}),(0,jt.jsx)("section",{className:"shopify-section shopify-section--dark","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"shopify-inner",children:[(0,jt.jsx)("h2",{className:"shopify-related-title",children:"Related Integrations"}),(0,jt.jsxs)("div",{className:"shopify-related-links",children:[(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"shopify-related-link",children:"Zapier SMS"}),(0,jt.jsx)(fe,{to:"/integrations/power-automate",className:"shopify-related-link",children:"Power Automate SMS"}),(0,jt.jsx)(fe,{to:"/integrations/wordpress",className:"shopify-related-link",children:"WordPress / WooCommerce SMS"}),(0,jt.jsx)(fe,{to:"/integrations/auth0",className:"shopify-related-link",children:"Auth0 SMS MFA"}),(0,jt.jsx)(fe,{to:"/integrations/microsoft-teams",className:"shopify-related-link",children:"Microsoft Teams SMS"}),(0,jt.jsx)("span",{className:"shopify-related-link",children:"Shopify SMS Marketing Australia"}),(0,jt.jsx)("span",{className:"shopify-related-link",children:"Abandoned Cart SMS Recovery"}),(0,jt.jsx)("span",{className:"shopify-related-link",children:"Ecommerce SMS Notifications"})]})]})}),(0,jt.jsx)("section",{className:"shopify-cta","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"shopify-inner",children:[(0,jt.jsx)("h2",{children:"Ready to Add SMS to Your Shopify Store?"}),(0,jt.jsx)("p",{children:"Install the DataFlows SMS app from the Shopify App Store and start sending in minutes."}),(0,jt.jsxs)("div",{className:"shopify-cta-buttons",children:[(0,jt.jsx)("a",{href:"https://apps.shopify.com/dataflows-sms",target:"_blank",rel:"noreferrer noopener",className:"shopify-btn-primary",onClick:()=>r("shopify_app_store_clicked",{source:"cta"}),children:"Install on Shopify App Store"}),(0,jt.jsx)("a",{href:"/contact-us",className:"shopify-btn-outline",children:"Talk to us"})]})]})}),(0,jt.jsx)(bt,{}),t&&(0,jt.jsx)("div",{className:"scroll-to-top show",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M12 5L19 12H16V19H8V12H5L12 5Z",fill:"currentColor"})})})]})},ao=()=>{const[t,s]=(0,e.useState)(!1),[n,i]=(0,e.useState)(null);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const r=function(e){"undefined"!==typeof gtag&&gtag("event",e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{})},a=[{q:"Does DataFlows SMS work with WooCommerce?",a:"Yes. The DataFlows SMS WordPress plugin integrates directly with WooCommerce order events. It supports Order Confirmation, Shipped, Cancelled, Refund, Welcome, and Abandoned Cart Recovery notifications, all sent automatically when the corresponding WooCommerce order status changes."},{q:"How do I connect DataFlows to my WordPress site?",a:"After installing the plugin, go to the DataFlows SMS menu in WordPress Admin, enter your DataFlows API token (found in Developers \u2192 Settings in your DataFlows account), and click Test Connection. Your account name will be confirmed immediately."},{q:"Can I customise the SMS message for each WooCommerce order status?",a:"Yes. The Templates page in WordPress Admin lets you edit the SMS copy for all 6 notification types separately. Each template supports personalisation variables like {customer_name}, {order_number}, {shop_name}, {total}, and {cart_url}."},{q:"Does the plugin support international phone numbers?",a:"Yes. The plugin automatically strips formatting characters (spaces, dashes, brackets) and converts local numbers starting with 0 to international format using your configured country code. You set a default country code (e.g. 61 for Australia) in the Settings page."},{q:"Is SMS for WooCommerce compliant with Australian law?",a:"Yes. DataFlows is an ACMA-registered Originating Telco and fully comp
2liant with the Spam Act 2003. All SMS is sent via the DataFlows platform which enforces STOP opt-out handling and tracks opt-out status per subscriber."},{q:"How does abandoned cart SMS work in WooCommerce?",a:"The plugin detects when a logged-in customer leaves items in their cart. After a configurable delay (10 minutes to 24 hours), it sends an SMS using your Abandoned Cart template which can include a {cart_url} variable linking the customer back to their cart."}];return(0,jt.jsxs)("div",{className:"wp-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"WordPress WooCommerce SMS Plugin \u2014 Order Notifications & Automation | DataFlows"}),(0,jt.jsx)("meta",{name:"description",content:"Send automated SMS order notifications from WooCommerce. Order confirmation, shipping, abandoned cart recovery, and more. ACMA-compliant Australian SMS plugin for WordPress."}),(0,jt.jsx)("meta",{name:"keywords",content:"WooCommerce SMS plugin, WordPress SMS notifications, WooCommerce order SMS, WordPress SMS Australia, WooCommerce abandoned cart SMS, DataFlows WordPress, WooCommerce SMS marketing, WordPress SMS API, WooCommerce SMS automation, Australian WooCommerce SMS"}),(0,jt.jsx)("meta",{property:"og:title",content:"WordPress WooCommerce SMS Plugin \u2014 Order Notifications | DataFlows"}),(0,jt.jsx)("meta",{property:"og:description",content:"Automated SMS order notifications for WooCommerce. Connect DataFlows SMS to WordPress in minutes. ACMA-compliant Australian SMS."}),(0,jt.jsx)("meta",{property:"og:type",content:"website"}),(0,jt.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/wordpress")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"DataFlows SMS \u2014 WordPress WooCommerce Plugin",applicationCategory:"BusinessApplication",operatingSystem:"WordPress",description:"WordPress plugin for sending automated SMS order notifications via WooCommerce, including order confirmation, shipping, and abandoned cart recovery.",offers:{"@type":"Offer",price:"35.00",priceCurrency:"AUD"},author:{"@type":"Organization",name:"DataFlows",url:"https://dataflows.com.au"}})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"WordPress / WooCommerce",item:"https://dataflows.com.au/integrations/wordpress"}]})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:a.map((e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}})))})})]}),(0,jt.jsx)(_t,{}),(0,jt.jsx)("div",{className:"wp-breadcrumbs",children:(0,jt.jsx)("div",{className:"wp-inner",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"WordPress / WooCommerce"}]})})}),(0,jt.jsx)("section",{className:"wp-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"wp-inner",children:[(0,jt.jsxs)("div",{className:"wp-hero-badge",children:[(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,jt.jsx)("path",{d:"M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8zm-.5-13v5.5l4.5 2.7-.75 1.3L10 13.5V7h1.5z"})}),"WordPress / WooCommerce Plugin"]}),(0,jt.jsx)("h1",{className:"wp-hero-title",children:"DataFlows SMS for WordPress & WooCommerce"}),(0,jt.jsx)("p",{className:"wp-hero-subtitle",children:"Automated SMS order notifications, abandoned cart recovery, and customer welcome messages \u2014 all connected to your DataFlows account via a simple WordPress plugin. Built for Australian businesses."}),(0,jt.jsxs)("div",{className:"wp-hero-actions",children:[(0,jt.jsxs)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"wp-btn-primary",onClick:()=>r("wp_get_started_clicked",{source:"hero"}),children:["Get API Key Free",(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"currentColor",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z",clipRule:"evenodd"})})]}),(0,jt.jsx)("a",{href:"/contact-us",className:"wp-btn-outline",children:"Talk to us"})]}),(0,jt.jsxs)("div",{className:"wp-hero-trust",children:[(0,jt.jsx)("span",{children:"\u2713 ACMA Registered Originating Telco"}),(0,jt.jsx)("span",{children:"\u2713 Spam Act 2003 Compliant"}),(0,jt.jsx)("span",{children:"\u2713 WooCommerce Compatible"})]})]})}),(0,jt.jsx)("section",{className:"wp-section wp-section--dark",id:"connection","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"wp-inner",children:(0,jt.jsxs)("div",{className:"wp-two-col",children:[(0,jt.jsxs)("div",{className:"wp-two-col-text",children:[(0,jt.jsx)("span",{className:"wp-label",children:"Setup"}),(0,jt.jsx)("h2",{children:"Connect in Under 2 Minutes"}),(0,jt.jsx)("p",{children:"Install the plugin, paste your DataFlows API token, and click Test Connection. Your account name is confirmed immediately \u2014 no configuration wizards, no webhooks to set up manually."}),(0,jt.jsxs)("ul",{className:"wp-checklist",children:[(0,jt.jsx)("li",{children:"API token found in DataFlows \u2192 Developers \u2192 Settings"}),(0,jt.jsx)("li",{children:"Sender ID auto-loaded with a Refresh button"}),(0,jt.jsx)("li",{children:"Default country code for local number normalisation"}),(0,jt.jsx)("li",{children:"Test Connection button confirms your account instantly"})]})]}),(0,jt.jsx)("div",{className:"wp-setup-preview",children:(0,jt.jsxs)("div",{className:"wp-admin-mockup",children:[(0,jt.jsxs)("div",{className:"wp-admin-row",children:[(0,jt.jsx)("span",{className:"wp-admin-label",children:"API Token"}),(0,jt.jsx)("div",{className:"wp-admin-input",children:"df_live_\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022"})]}),(0,jt.jsxs)("div",{className:"wp-admin-row",children:[(0,jt.jsx)("span",{className:"wp-admin-label",children:"Sender ID"}),(0,jt.jsx)("div",{className:"wp-admin-select",children:"DataFlows \u25be"})]}),(0,jt.jsxs)("div",{className:"wp-admin-row",children:[(0,jt.jsx)("span",{className:"wp-admin-label",children:"Country Code"}),(0,jt.jsx)("div",{className:"wp-admin-select",children:"61 (Australia) \u25be"})]}),(0,jt.jsx)("div",{className:"wp-admin-test",children:(0,jt.jsx)("span",{className:"wp-admin-btn",children:"\u2713 C
2onnection Successful"})})]})})]})})}),(0,jt.jsx)("section",{className:"wp-section",id:"notifications","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"wp-inner",children:[(0,jt.jsxs)("div",{className:"wp-section-header",children:[(0,jt.jsx)("span",{className:"wp-label",children:"Automated"}),(0,jt.jsx)("h2",{children:"6 WooCommerce Order Notifications"}),(0,jt.jsx)("p",{children:"Each notification type fires automatically on the corresponding WooCommerce order event. Toggle each one on or off from the WordPress admin panel."})]}),(0,jt.jsx)("div",{className:"wp-notifications-grid",children:[{icon:"\ud83d\uded2",title:"Order Confirmation",desc:"SMS sent when a new order is placed at checkout.",vars:"{customer_name}, {order_number}, {shop_name}, {total}"},{icon:"\ud83d\udce6",title:"Order Shipped",desc:"SMS sent when order status changes to Completed.",vars:"{customer_name}, {order_number}, {shop_name}"},{icon:"\u274c",title:"Order Cancelled",desc:"SMS sent when an order is cancelled.",vars:"{customer_name}, {order_number}, {shop_name}"},{icon:"\ud83d\udcb0",title:"Refund Processed",desc:"SMS sent when a full refund is issued.",vars:"{customer_name}, {order_number}, {shop_name}"},{icon:"\ud83d\udc4b",title:"Welcome (New Customer)",desc:"SMS sent when a new customer account is created.",vars:"{customer_name}, {shop_name}"},{icon:"\ud83d\udecd\ufe0f",title:"Abandoned Cart Recovery",desc:"SMS sent to logged-in customers who leave items in their cart. Configurable delay from 10 minutes to 24 hours.",vars:"{customer_name}, {shop_name}, {cart_url}"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"wp-notification-card","data-aos":"fade-up","data-aos-delay":50*t,children:[(0,jt.jsxs)("div",{className:"wp-notification-top",children:[(0,jt.jsx)("span",{className:"wp-notification-icon",children:e.icon}),(0,jt.jsx)("h3",{children:e.title})]}),(0,jt.jsx)("p",{className:"wp-notification-desc",children:e.desc}),(0,jt.jsxs)("div",{className:"wp-notification-vars",children:[(0,jt.jsx)("span",{className:"wp-vars-label",children:"Variables:"}),(0,jt.jsx)("code",{children:e.vars})]})]},t)))})]})}),(0,jt.jsx)("section",{className:"wp-section wp-section--dark",id:"phone-handling","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"wp-inner",children:[(0,jt.jsxs)("div",{className:"wp-section-header",children:[(0,jt.jsx)("span",{className:"wp-label",children:"Smart"}),(0,jt.jsx)("h2",{children:"Automatic Phone Number Handling"}),(0,jt.jsx)("p",{children:"WooCommerce customers enter phone numbers in all kinds of formats. DataFlows SMS normalises every number automatically before sending."})]}),(0,jt.jsxs)("div",{className:"wp-phone-grid",children:[(0,jt.jsxs)("div",{className:"wp-phone-card",children:[(0,jt.jsxs)("div",{className:"wp-phone-example",children:[(0,jt.jsx)("span",{className:"wp-phone-in",children:"0412 345 678"}),(0,jt.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M5 12h14M12 5l7 7-7 7"})}),(0,jt.jsx)("span",{className:"wp-phone-out",children:"+61412345678"})]}),(0,jt.jsx)("p",{children:"Local 0-prefix numbers converted to international format using your country code."})]}),(0,jt.jsxs)("div",{className:"wp-phone-card",children:[(0,jt.jsxs)("div",{className:"wp-phone-example",children:[(0,jt.jsx)("span",{className:"wp-phone-in",children:"(04) 1234-5678"}),(0,jt.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M5 12h14M12 5l7 7-7 7"})}),(0,jt.jsx)("span",{className:"wp-phone-out",children:"+61412345678"})]}),(0,jt.jsx)("p",{children:"Formatting characters (spaces, dashes, brackets) stripped automatically."})]}),(0,jt.jsxs)("div",{className:"wp-phone-card",children:[(0,jt.jsxs)("div",{className:"wp-phone-example",children:[(0,jt.jsx)("span",{className:"wp-phone-in",children:"61412345678"}),(0,jt.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M5 12h14M12 5l7 7-7 7"})}),(0,jt.jsx)("span",{className:"wp-phone-out",children:"+61412345678"})]}),(0,jt.jsx)("p",{children:"+ prefix added to any number missing it."})]})]})]})}),(0,jt.jsx)("section",{className:"wp-section",id:"features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"wp-inner",children:[(0,jt.jsxs)("div",{className:"wp-section-header",children:[(0,jt.jsx)("span",{className:"wp-label",children:"Platform"}),(0,jt.jsx)("h2",{children:"Everything Built Into the Plugin"})]}),(0,jt.jsx)("div",{className:"wp-features-grid",children:[{icon:"\ud83d\udd0c",title:"Simple API Connection",desc:"Connect using your DataFlows API token. A Test Connection button confirms your account name immediately."},{icon:"\ud83d\udcf1",title:"Sender ID Dropdown",desc:"Sender ID is auto-loaded from your DataFlows account with a Refresh button \u2014 no copy-
2pasting IDs."},{icon:"\ud83c\udf0f",title:"International Numbers",desc:"Default country code setting normalises local numbers automatically. Strips spaces, dashes, and brackets."},{icon:"\u2699\ufe0f",title:"Dedicated Admin Panel",desc:"Dedicated DataFlows SMS menu item in WordPress Admin with separate Settings and Templates pages."},{icon:"\ud83d\udd04",title:"Smart Number Handling",desc:"Converts local numbers starting with 0 to international format and adds the + prefix to any number missing it."},{icon:"\ud83c\udf9b\ufe0f",title:"Per-Notification Toggles",desc:"Each of the 6 notification types can be enabled or disabled independently from the WordPress admin panel."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"wp-feature-card","data-aos":"fade-up","data-aos-delay":60*t,children:[(0,jt.jsx)("span",{className:"wp-feature-icon",children:e.icon}),(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]},t)))})]})}),(0,jt.jsx)("section",{className:"wp-section wp-section--dark",id:"admin","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"wp-inner",children:(0,jt.jsxs)("div",{className:"wp-two-col",children:[(0,jt.jsxs)("div",{className:"wp-two-col-text",children:[(0,jt.jsx)("span",{className:"wp-label",children:"Admin Panel"}),(0,jt.jsx)("h2",{children:"Manage Everything from WordPress Admin"}),(0,jt.jsx)("p",{children:"A dedicated DataFlows SMS menu item appears in your WordPress Admin sidebar. Settings and Templates are split into separate pages for clarity."}),(0,jt.jsxs)("ul",{className:"wp-checklist",children:[(0,jt.jsx)("li",{children:"Settings \u2014 API token, country code, sender ID, notification toggles, abandoned cart delay"}),(0,jt.jsx)("li",{children:"Templates \u2014 edit SMS copy for all 6 notification types separately"}),(0,jt.jsx)("li",{children:"No separate dashboard needed \u2014 manage everything inside WordPress"})]})]}),(0,jt.jsx)("div",{className:"wp-admin-sidebar-preview",children:(0,jt.jsxs)("div",{className:"wp-sidebar",children:[(0,jt.jsxs)("div",{className:"wp-sidebar-item wp-sidebar-item--active",children:[(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:(0,jt.jsx)("path",{d:"M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"})}),"DataFlows SMS"]}),(0,jt.jsx)("div",{className:"wp-sidebar-sub",children:"Settings"}),(0,jt.jsx)("div",{className:"wp-sidebar-sub",children:"Templates"})]})})]})})}),(0,jt.jsx)("section",{className:"wp-section",id:"faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"wp-inner",children:[(0,jt.jsxs)("div",{className:"wp-section-header",children:[(0,jt.jsx)("span",{className:"wp-label",children:"FAQ"}),(0,jt.jsx)("h2",{children:"Frequently Asked Questions"})]}),(0,jt.jsx)("div",{className:"wp-faq",children:a.map(((e,t)=>(0,jt.jsxs)("div",{className:"wp-faq-item"+(n===t?" open":""),children:[(0,jt.jsxs)("button",{className:"wp-faq-q",onClick:()=>i(n===t?null:t),children:[e.q,(0,jt.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M6 9l6 6 6-6"})})]}),(0,jt.jsx)("p",{className:"wp-faq-a"+(n===t?"":" wp-faq-a--hidden"),children:e.a})]},t)))})]})}),(0,jt.jsx)("section",{className:"wp-section wp-section--dark","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"wp-inner",children:[(0,jt.jsx)("h2",{className:"wp-related-title",children:"Related Integrations"}),(0,jt.jsxs)("div",{className:"wp-related-links",children:[(0,jt.jsx)(fe,{to:"/integrations/shopify",className:"wp-related-link",children:"Shopify SMS App"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"wp-related-link",children:"Zapier SMS"}),(0,jt.jsx)(fe,{to:"/integrations/power-automate",className:"wp-related-link",children:"Power Automate SMS"}),(0,jt.jsx)(fe,{to:"/integrations/auth0",className:"wp-related-link",children:"Auth0 SMS MFA"}),(0,jt.jsx)("span",{className:"wp-related-link",children:"WooCommerce SMS Australia"}),(0,jt.jsx)("span",{className:"wp-related-link",children:"WordPress SMS Notifications"}),(0,jt.jsx)("span",{className:"wp-related-link",children:"WooCommerce Abandoned Cart SMS"}),(0,jt.jsx)("span",{className:"wp-related-link",children:"WordPress SMS API"})]})]})}),(0,jt.jsx)("section",{className:"wp-cta","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"wp-inner",children:[(0,jt.jsx)("h2",{children:"Ready to Add SMS to Your WooCommerce Store?"}),(0,jt.jsx)("p",{children:"Get your free DataFlows API key, install the plugin, and start sending order SMS 
2in minutes."}),(0,jt.jsxs)("div",{className:"wp-cta-buttons",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"wp-btn-primary",onClick:()=>r("wp_cta_clicked",{source:"footer-cta"}),children:"Get API Key Free"}),(0,jt.jsx)("a",{href:"/contact-us",className:"wp-btn-outline",children:"Talk to us"})]})]})}),(0,jt.jsx)(bt,{}),t&&(0,jt.jsx)("div",{className:"scroll-to-top show",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M12 5L19 12H16V19H8V12H5L12 5Z",fill:"currentColor"})})})]})},oo=()=>{const[t,s]=(0,e.useState)([]),[n,i]=(0,e.useState)(!0),[r,a]=(0,e.useState)(null);(0,e.useEffect)((()=>{(async()=>{try{i(!0);const e=await Fa.fetch(La.getRecentPosts);s(e),a(null)}catch(e){console.error("Error fetching recent blog posts:",e),a("Failed to load recent posts.")}finally{i(!1)}})()}),[]);return n?(0,jt.jsx)("section",{className:"recent-blog-posts-section",children:(0,jt.jsxs)("div",{className:"recent-blog-posts-container",children:[(0,jt.jsxs)("div",{className:"recent-blog-posts-header",children:[(0,jt.jsx)("h2",{children:"Latest Blog Posts"}),(0,jt.jsx)("p",{children:"Loading latest insights..."})]}),(0,jt.jsx)("div",{className:"recent-blog-posts-loading",children:(0,jt.jsx)("div",{className:"loading-spinner"})})]})}):r||0===t.length?(0,jt.jsx)("section",{className:"recent-blog-posts-section",children:(0,jt.jsx)("div",{className:"recent-blog-posts-container",children:(0,jt.jsxs)("div",{className:"recent-blog-posts-header",children:[(0,jt.jsx)("h2",{children:"Latest Blog Posts"}),(0,jt.jsx)("p",{children:"Coming soon - stay tuned for insights on SMS marketing and business growth!"})]})})}):(0,jt.jsx)("section",{className:"recent-blog-posts-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"recent-blog-posts-container",children:[(0,jt.jsxs)("div",{className:"recent-blog-posts-header",children:[(0,jt.jsx)("h2",{children:"Latest Blog Posts"}),(0,jt.jsx)("p",{children:"Stay updated with the latest insights on SMS marketing and business communication."})]}),(0,jt.jsx)("div",{className:"recent-blog-posts-grid",children:t.map(((e,t)=>{return(0,jt.jsx)("article",{className:"recent-blog-post-card","data-aos":"fade-up","data-aos-delay":100*t,children:(0,jt.jsxs)(fe,{to:`/blog/${e.slug.current}`,className:"recent-blog-post-link",children:[e.mainImage&&(0,jt.jsx)("div",{className:"recent-blog-post-image",children:(0,jt.jsx)("img",{src:Ra(e.mainImage).width(350).height(200).url(),alt:e.title,loading:"lazy"})}),(0,jt.jsxs)("div",{className:"recent-blog-post-content",children:[(0,jt.jsx)("div",{className:"recent-blog-post-meta",children:(0,jt.jsx)("span",{className:"recent-blog-post-date",children:(s=e.publishedAt,new Date(s).toLocaleDateString("en-AU",{year:"numeric",month:"short",day:"numeric"}))})}),(0,jt.jsx)("h3",{className:"recent-blog-post-title",children:e.title}),e.excerpt&&(0,jt.jsx)("p",{className:"recent-blog-post-excerpt",children:e.excerpt}),(0,jt.jsx)("div",{className:"recent-blog-post-read-more",children:"Read More \u2192"})]})]})},e._id);var s}))}),(0,jt.jsx)("div",{className:"recent-blog-posts-footer",children:(0,jt.jsx)(fe,{to:"/blog",className:"recent-blog-posts-view-all",children:"View All Blog Posts"})})]})})};function lo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function co(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var uo,ho,po,mo,fo,go,yo,xo,vo,jo,wo,bo={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},So={duration:.5,overwrite:!1,delay:0},ko=1e8,No=1e-8,Ao=2*Math.PI,_o=Ao/4,Mo=0,Co=Math.sqrt,To=Math.cos,Eo=Math.sin,Io=function(e){return"string"===typeof e},Po=function(e){return"function"===typeof e},Do=function(e){return"number"===typeof e},Fo=function(e){return"undefined"===typeof e},Oo=function(e){return"object"===typeof e},Ro=function(e){return!1!==e},Lo=function(){return"undefined"!==typeof window},qo=function(e){return Po(e)||Io(e)},zo="function"===typeof ArrayBuffer&&ArrayBuffer.isView||function(){},Uo=Array.isArray,Bo=/random\([^)]+\)/g,Wo=/,\s*/g,Ho=/(?:-?\.?\d|\.)+/gi,Zo=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,$o=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,Go=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,Vo=/[+-]=-?[.\d]+/,Yo=/[^,'"\[\]\s]+/gi,Ko=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,Qo={},Xo={},Jo=function(e){return(Xo=Cl(e,Qo))&&Cd},el=function(e,t){return console.warn("Invalid property",e,"set to",t,"Missing plugin? gsap.registerPlugin()")},tl=function(e,t){return!t&&console.warn(e)},sl=function(e,t){return e&&(Qo[e]=t)&&Xo&&(Xo[e]=t)||Qo},nl=function(){return 0},il={suppressEvents:!0,isStart:!0,kill:!1},rl={suppressEvents:!0,kill:!1},al={suppressEvents:!0},ol={},ll=[],cl={},dl={},ul={},hl=30,pl=[],ml="",fl=function(e){var t,s,n=e[0];if(Oo(n)||Po(n)||(e=[e]),!(t=(n._gsap||{}).harness)){for(s=pl.length;s--&&!pl[s].targetTest(n););t=pl[s]}for(s=e.length;s--;)e[s]&&(e[s]._gsap||(e[s]._gsap=new Wc(e[s],t)))||e.splice(s,1);return e},gl=function(e){return e._gsap||fl(oc(e))[0]._gsap},yl=function(e,t,s){return(s=e[t])&&Po(s)?e[t]():Fo(s)&&e.getAttribute&&e.getAttribute(t)||s}
vendor: 40,931 bytes, line 2
2,xl=function(e,t){return(e=e.split(",")).forEach(t)||e},vl=function(e){return Math.round(1e5*e)/1e5||0},jl=function(e){return Math.round(1e7*e)/1e7||0},wl=function(e,t){var s=t.charAt(0),n=parseFloat(t.substr(2));return e=parseFloat(e),"+"===s?e+n:"-"===s?e-n:"*"===s?e*n:e/n},bl=function(e,t){for(var s=t.length,n=0;e.indexOf(t[n])<0&&++n<s;);return n<s},Sl=function(){var e,t,s=ll.length,n=ll.slice(0);for(cl={},ll.length=0,e=0;e<s;e++)(t=n[e])&&t._lazy&&(t.render(t._lazy[0],t._lazy[1],!0)._lazy=0)},kl=function(e){return!!(e._initted||e._startAt||e.add)},Nl=function(e,t,s,n){ll.length&&!ho&&Sl(),e.render(t,s,n||!!(ho&&t<0&&kl(e))),ll.length&&!ho&&Sl()},Al=function(e){var t=parseFloat(e);return(t||0===t)&&(e+"").match(Yo).length<2?t:Io(e)?e.trim():e},_l=function(e){return e},Ml=function(e,t){for(var s in t)s in e||(e[s]=t[s]);return e},Cl=function(e,t){for(var s in t)e[s]=t[s];return e},Tl=function e(t,s){for(var n in s)"__proto__"!==n&&"constructor"!==n&&"prototype"!==n&&(t[n]=Oo(s[n])?e(t[n]||(t[n]={}),s[n]):s[n]);return t},El=function(e,t){var s,n={};for(s in e)s in t||(n[s]=e[s]);return n},Il=function(e){var t,s=e.parent||mo,n=e.keyframes?(t=Uo(e.keyframes),function(e,s){for(var n in s)n in e||"duration"===n&&t||"ease"===n||(e[n]=s[n])}):Ml;if(Ro(e.inherit))for(;s;)n(e,s.vars.defaults),s=s.parent||s._dp;return e},Pl=function(e,t,s,n,i){void 0===s&&(s="_first"),void 0===n&&(n="_last");var r,a=e[n];if(i)for(r=t[i];a&&a[i]>r;)a=a._prev;return a?(t._next=a._next,a._next=t):(t._next=e[s],e[s]=t),t._next?t._next._prev=t:e[n]=t,t._prev=a,t.parent=t._dp=e,t},Dl=function(e,t,s,n){void 0===s&&(s="_first"),void 0===n&&(n="_last");var i=t._prev,r=t._next;i?i._next=r:e[s]===t&&(e[s]=r),r?r._prev=i:e[n]===t&&(e[n]=i),t._next=t._prev=t.parent=null},Fl=function(e,t){e.parent&&(!t||e.parent.autoRemoveChildren)&&e.parent.remove&&e.parent.remove(e),e._act=0},Ol=function(e,t){if(e&&(!t||t._end>e._dur||t._start<0))for(var s=e;s;)s._dirty=1,s=s.parent;return e},Rl=function(e,t,s,n){return e._startAt&&(ho?e._startAt.revert(rl):e.vars.immediateRender&&!e.vars.autoRevert||e._startAt.render(t,!0,n))},Ll=function e(t){return!t||t._ts&&e(t.parent)},ql=function(e){return e._repeat?zl(e._tTime,e=e.duration()+e._rDelay)*e:0},zl=function(e,t){var s=Math.floor(e=jl(e/t));return e&&s===e?s-1:s},Ul=function(e,t){return(e-t._start)*t._ts+(t._ts>=0?0:t._dirty?t.totalDuration():t._tDur)},Bl=function(e){return e._end=jl(e._start+(e._tDur/Math.abs(e._ts||e._rts||No)||0))},Wl=function(e,t){var s=e._dp;return s&&s.smoothChildTiming&&e._ts&&(e._start=jl(s._time-(e._ts>0?t/e._ts:((e._dirty?e.totalDuration():e._tDur)-t)/-e._ts)),Bl(e),s._dirty||Ol(s,e)),e},Hl=function(e,t){var s;if((t._time||!t._dur&&t._initted||t._start<e._time&&(t._dur||!t.add))&&(s=Ul(e.rawTime(),t),(!t._dur||sc(0,t.totalDuration(),s)-t._tTime>No)&&t.render(s,!0)),Ol(e,t)._dp&&e._initted&&e._time>=e._dur&&e._ts){if(e._dur<e.duration())for(s=e;s._dp;)s.rawTime()>=0&&s.totalTime(s._tTime),s=s._dp;e._zTime=-1e-8}},Zl=function(e,t,s,n){return t.parent&&Fl(t),t._start=jl((Do(s)?s:s||e!==mo?Jl(e,s,t):e._time)+t._delay),t._end=jl(t._start+(t.totalDuration()/Math.abs(t.timeScale())||0)),Pl(e,t,"_first","_last",e._sort?"_start":0),Yl(t)||(e._recent=t),n||Hl(e,t),e._ts<0&&Wl(e,e._tTime),e},$l=function(e,t){return(Qo.ScrollTrigger||el("scrollTrigger",t))&&Qo.ScrollTrigger.create(t,e)},Gl=function(e,t,s,n,i){return Qc(e,t,i),e._initted?!s&&e._pt&&!ho&&(e._dur&&!1!==e.vars.lazy||!e._dur&&e.vars.lazy)&&vo!==Ec.frame?(ll.push(e),e._lazy=[i,n],1):void 0:1},Vl=function e(t){var s=t.parent;return s&&s._ts&&s._initted&&!s._lock&&(s.rawTime()<0||e(s))},Yl=function(e){var t=e.data;return"isFromStart"===t||"isStart"===t},Kl=function(e,t,s,n){var i=e._repeat,r=jl(t)||0,a=e._tTime/e._tDur;return a&&!n&&(e._time*=r/e._dur),e._dur=r,e._tDur=i?i<0?1e10:jl(r*(i+1)+e._rDelay*i):r,a>0&&!n&&Wl(e,e._tTime=e._tDur*a),e.parent&&Bl(e),s||Ol(e.parent,e),e},Ql=function(e){return e instanceof Zc?Ol(e):Kl(e,e._dur)},Xl={_start:0,endTime:nl,totalDuration:nl},Jl=function e(t,s,n){var i,r,a,o=t.labels,l=t._recent||Xl,c=t.duration()>=ko?l.endTime(!1):t._dur;return Io(s)&&(isNaN(s)||s in o)?(r=s.charAt(0),a="%"===s.substr(-1),i=s.indexOf("="),"<"===r||">"===r?(i>=0&&(s=s.replace(/=/,"")),("<"===r?l._start:l.endTime(l._repeat>=0))+(parseFloat(s.substr(1))||0)*(a?(i<0?l:n).totalDuration()/100:1)):i<0?(s in o||(o[s]=c),o[s]):(r=parseFloat(s.charAt(i-1)+s.substr(i+1)),a&&n&&(r=r/100*(Uo(n)?n[0]:n).totalDuration()),i>1?e(t,s.substr(0,i-1),n)+r:c+r)):null==s?c:+s},ec=function(e,t,s){var n,i,r=Do(t[1]),a=(r?2:1)+(e<2?0:1),o=t[a];if(r&&(o.duration=t[1]),o.parent=s,e){for(n=o,i=s;i&&!("immediateRender"in n);)n=i.vars.defaults||{},i=Ro(i.vars.inherit)&&i.parent;o.immediateRender=Ro(n.immediateRender),e<2?o.runBackwards=1:o.startAt=t[a-1]}return new sd(t[0],o,t[a+1])},tc=function(e,t){return e||0===e?t(e):t},sc=function(e,t,s){return s<e?e:s>t?t:s},nc=function(e,t){return Io(e)&&(t=Ko.exec(e))?t[1]:""},ic=[].slice,rc=function(e,t){return e&&Oo(e)&&"length"in e&&(!t&&!e.length||e.length-1 in e&&Oo(e[0]))&&!e.nodeType&&e!==fo},ac=function(e,t,s){return void 0===s&&(s=[]),e.forEach((function(e){var n;return Io(e)&&!t||rc(e,1)?(n=s).push.apply(n,oc(e)):s.push(e)}))||s},oc=function(e,t,s){return po&&!t&&po.selector?po.selector(e):!Io(e)||s||!go&&Ic()?Uo(e)?ac(e,s):rc(e)?ic.call(e,0):e?[e]:[]:ic.call((t||yo).querySelectorAll(e),0)},lc=function(e){return e=oc(e)[0]||tl("Invalid scope")||{},function(t){var s=e.current||e.nativeElement||e;return oc(t,s.querySelectorAll?s:s===e?tl("Invalid scope")||yo.createElement("div"):e)}},cc=function(e){return e.sort((function(){return.5-Math.random()}))},dc=function(e){if(Po(e))return e;var t=Oo(e)?e:{each:e},s=Lc(t.ease),n=t.from||0,i=parseFloat(t.base)||0,r={},a=n>0&&n<1,o=isNaN(n)||a,l=t.axis,c=n,d=n;return Io(n)?c=d={center:.5,edges:.5,end:1}[n]||0:!a&&o&&(c=n[0],d=n[1]),function(e,a,u){var h,p,m,f,g,y,x,v,j,w=(u||t).length,b=r[w];if(!b){if(!(j="auto"===t.grid?0:(t.grid||[1,ko])[1])){for(x=-ko;x<(x=u[j++].getBoundingClientRect().left)&&j<w;);j<w&&j--}for(b=r[w]=[],h=o?Math.min(j,w)*c-.5:n%j,p=j===ko?0:o?w*d/j-.5:n/j|0,x=0,v=ko,y=0;y<w;y++)m=y%j-h,f=p-(y/j|0),b[y]=g=l?Math.abs("y"===l?f:m):Co(m*m+f*f),g>x&&(x=g),g<v&&(v=g);"random"===n&&cc(b),b.max=x-v,b.min=v,b.v=w=(parseFloat(t.amount)||parseFloat(t.each)*(j>w?w-1:l?"y"===l?w/j:j:Math.max(j,w/j))||0)*("edges"===n?-1:1),b.b=w<0?i-w:i,b.u=nc(t.amount||t.each)||0,s=s&&w<0?Rc(s):s}return w=(b[e]-b.min)/b.max||0,jl(b.b+(s?s(w):w)*b.v)+b.u}},uc=function(e){var t=Math.pow(10,((e+"").split(".")[1]||"").length);return function(s){var n=jl(Math.round(parseFloat(s)/e)*e*t);return(n-n%1)/t+(Do(s)?0:nc(s))}},hc=function(e,t){var s,n,i=Uo(e);return!i&&Oo(e)&&(s=i=e.radius||ko,e.values?(e=oc(e.values),(n=!Do(e[0]))&&(s*=s)):e=uc(e.increment)),tc(t,i?Po(e)?function(t){return n=e(t),Math.abs(n-t)<=s?n:t}:function(t){for(var i,r,a=parseFloat(n?t.x:t),o=parseFloat(n?t.y:0),l=ko,c=0,d=e.length;d--;)(i=n?(i=e[d].x-a)*i+(r=e[d].y-o)*r:Math.abs(e[d]-a))<l&&(l=i,c=d);return c=!s||l<=s?e[c]:t,n||c===t||Do(t)?c:c+nc(t)}:uc(e))},pc=function(e,t,s,n){return tc(Uo(e)?!t:!0===s?!!(s=0):!n,(function(){return Uo(e)?e[~~(Math.random()*e.length)]:(s=s||1e-5)&&(n=s<1?Math.pow(10,(s+"").length-2):1)&&Math.floor(Math.round((e-s/2+Math.random()*(t-e+.99*s))/s)*s*n)/n}))},mc=function(e,t,s){return tc(s,(function(s){return e[~~t(s)]}))},fc=function(e){return e.replace(Bo,(function(e){var t=e.indexOf("[")+1,s=e.substring(t||7,t?e.indexOf("]"):e.length-1).split(Wo);return pc(t?s:+s[0],t?0:+s[1],+s[2]||1e-5)}))},gc=function(e,t,s,n,i){var r=t-e,a=n-s;return tc(i,(function(t){return s+((t-e)/r*a||0)}))},yc=function(e,t,s){var n,i,r,a=e.labels,o=ko;for(n in a)(i=a[n]-t)<0===!!s&&i&&o>(i=Math.abs(i))&&(r=n,o=i);return r},xc=function(e,t,s){var n,i,r,a=e.vars,o=a[t],l=po,c=e._ctx;if(o)return n=a[t+"Params"],i=a.callbackScope||e,s&&ll.length&&Sl(),c&&(po=c),r=n?o.apply(i,n):o.call(i),po=l,r},vc=function(e){return Fl(e),e.scrollTrigger&&e.scrollTrigger.kill(!!ho),e.progress()<1&&xc(e,"onInterrupt"),e},jc=[],wc=function(e){if(e)if(e=!e.name&&e.default||e,Lo()||e.headless){var t=e.name,s=Po(e),n=t&&!s&&e.init?function(){this._props=[]}:e,i={init:nl,render:ud,add:Yc,kill:pd,modifier:hd,rawVars:0},r={targetTest:0,get:0,getSetter:od,aliases:{},register:0};if(Ic(),e!==n){if(dl[t])return;Ml(n,Ml(El(e,i),r)),Cl(n.prototype,Cl(i,El(e,r))),dl[n.prop=t]=n,e.targetTest&&(pl.push(n),ol[t]=1),t=("css"===t?"CSS":t.charAt(0).toUpperCase()+t.substr(1))+"Plugin"}sl(t,n),e.register&&e.register(Cd,n,gd)}else jc.push(e)},bc=255,Sc={aqua:[0,bc,bc],lime:[0,bc,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,bc],navy:[0,0,128],white:[bc,bc,bc],olive:[128,128,0],yellow:[bc,bc,0],orange:[bc,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[bc,0,0],pink:[bc,192,203],cyan:[0,bc,bc],transparent:[bc,bc,bc,0]},kc=function(e,t,s){return(6*(e+=e<0?1:e>1?-1:0)<1?t+(s-t)*e*6:e<.5?s:3*e<2?t+(s-t)*(2/3-e)*6:t)*bc+.5|0},Nc=function(e,t,s){var n,i,r,a,o,l,c,d,u,h,p=e?Do(e)?[e>>16,e>>8&bc,e&bc]:0:Sc.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),Sc[e])p=Sc[e];else if("#"===e.charAt(0)){if(e.length<6&&(n=e.charAt(1),i=e.charAt(2),r=e.charAt(3),e="#"+n+n+i+i+r+r+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&bc,p&bc,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&bc,e&bc]}else if("hsl"===e.substr(0,3))if(p=h=e.match(Ho),t){if(~e.indexOf("="))return p=e.match(Zo),s&&p.length<4&&(p[3]=1),p}else a=+p[0]%360/360,o=+p[1]/100,n=2*(l=+p[2]/100)-(i=l<=.5?l*(o+1):l+o-l*o),p.length>3&&(p[3]*=1),p[0]=kc(a+1/3,n,i),p[1]=kc(a,n,i),p[2]=kc(a-1/3,n,i);else p=e.match(Ho)||Sc.transparent;p=p.map(Number)}return t&&!h&&(n=p[0]/bc,i=p[1]/bc,r=p[2]/bc,l=((c=Math.max(n,i,r))+(d=Math.min(n,i,r)))/2,c===d?a=o=0:(u=c-d,o=l>.5?u/(2-c-d):u/(c+d),a=c===n?(i-r)/u+(i<r?6:0):c===i?(r-n)/u+2:(n-i)/u+4,a*=60),p[0]=~~(a+.5),p[1]=~~(100*o+.5),p[2]=~~(100*l+.5)),s&&p.length<4&&(p[3]=1),p},Ac=function(e){var t=[],s=[],n=-1;return e.split(Mc).forEach((function(e){var i=e.match($o)||[];t.push.apply(t,i),s.push(n+=i.length+1)})),t.c=s,t},_c=function(e,t,s){var n,i,r,a,o="",l=(e+o).match(Mc),c=t?"hsla(":"rgba(",d=0;if(!l)return e;if(l=l.map((function(e){return(e=Nc(e,t,1))&&c+(t?e[0]+","+e[1]+"%,"+e[2]+"%,"+e[3]:e.join(","))+")"})),s&&(r=Ac(e),(n=s.c).join(o)!==r.c.join(o)))for(a=(i=e.replace(Mc,"1").split($o)).length-1;d<a;d++)o+=i[d]+(~n.indexOf(d)?l.shift()||c+"0,0,0,0)":(r.length?r:l.length?l:s).shift());if(!i)for(a=(i=e.split(Mc)).length-1;d<a;d++)o+=i[d]+l[d];return o+i[a]},Mc=function(){var e,t="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b";for(e in Sc)t+="|"+e+"\\b";return new RegExp(t+")","gi")}(),Cc=/hsl[a]?\(/,Tc=function(e){var t,s=e.join(" ");if(Mc.lastIndex=0,Mc.test(s))return t=Cc.test(s),e[1]=_c(e[1],t),e[0]=_c(e[0],t,Ac(e[1])),!0},Ec=function(){var e,t,s,n,i,r,a=Date.now,o=500,l=33,c=a(),d=c,u=1e3/240,h=u,p=[],m=function s(m){var f,g,y,x,v=a()-d,j=!0===m;if((v>o||v<0)&&(c+=v-l),((f=(y=(d+=v)-c)-h)>0||j)&&(x=++n.frame,i=y-1e3*n.time,n.time=y/=1e3,h+=f+(f>=u?4:u-f),g=1),j||(e=t(s)),g)for(r=0;r<p.length;r++)p[r](y,i,x,m)};return n={time:0,frame:0,tick:function(){m(!0)},deltaRatio:function(e){return i/(1e3/(e||60))},wake:function(){xo&&(!go&&Lo()&&(fo=go=window,yo=fo.document||{},Qo.gsap=Cd,(fo.gsapVersions||(fo.gsapVersions=[])).push(Cd.version),Jo(Xo||fo.GreenSockGlobals||!fo.gsap&&fo||{}),jc.forEach(wc)),s="undefined"!==typeof requestAnimationFrame&&requestAnimationFrame,e&&n.sleep(),t=s||function(e){return setTimeout(e,h-1e3*n.time+1|0)},wo=1,m(2))},sleep:function(){(s?cancelAnimationFrame:clearTimeout)(e),wo=0,t=nl},lagSmoothing:function(e,t){o=e||1/0,l=Math.min(t||33,o)},fps:function(e){u=1e3/(e||240),h=1e3*n.time+u},add:function(e,t,s){var i=t?function(t,s,r,a){e(t,s,r,a),n.remove(i)}:e;return n.remove(e),p[s?"unshift":"push"](i),Ic(),i},remove:function(e,t){~(t=p.indexOf(e))&&p.splice(t,1)&&r>=t&&r--},_listeners:p},n}(),Ic=function(){return!wo&&Ec.wake()},Pc={},Dc=/^[\d.\-M][\d.\-,\s]/,Fc=/["']/g,Oc=function(e){for(var t,s,n,i={},r=e.substr(1,e.length-3).split(":"),a=r[0],o=1,l=r.length;o<l;o++)s=r[o],t=o!==l-1?s.lastIndexOf(","):s.length,n=s.substr(0,t),i[a]=isNaN(n)?n.replace(Fc,"").trim():+n,a=s.substr(t+1).trim();return i},Rc=function(e){return function(t){return 1-e(1-t)}},Lc=function(e,t){return e&&(Po(e)?e:Pc[e]||function(e){var t=(e+"").split("("),s=Pc[t[0]];return s&&t.length>1&&s.config?s.config.apply(null,~e.indexOf("{")?[Oc(t[1])]:function(e){var t=e.indexOf("(")+1,s=e.indexOf(")"),n=e.indexOf("(",t);return e.substring(t,~n&&n<s?e.indexOf(")",s+1):s)}(e).split(",").map(Al)):Pc._CE&&Dc.test(e)?Pc._CE("",e):s}(e))||t},qc=function(e,t,s,n){void 0===s&&(s=function(e){return 1-t(1-e)}),void 0===n&&(n=function(e){return e<.5?t(2*e)/2:1-t(2*(1-e))/2});var i,r={easeIn:t,easeOut:s,easeInOut:n};return xl(e,(function(e){for(var t in Pc[e]=Qo[e]=r,Pc[i=e.toLowerCase()]=s,r)Pc[i+("easeIn"===t?".in":"easeOut"===t?".out":".inOut")]=Pc[e+"."+t]=r[t]})),r},zc=function(e){return function(t){return t<.5?(1-e(1-2*t))/2:.5+e(2*(t-.5))/2}},Uc=function e(t,s,n){var i=s>=1?s:1,r=(n||(t?.3:.45))/(s<1?s:1),a=r/Ao*(Math.asin(1/i)||0),o=function(e){return 1===e?1:i*Math.pow(2,-10*e)*Eo((e-a)*r)+1},l="out"===t?o:"in"===t?function(e){return 1-o(1-e)}:zc(o);return r=Ao/r,l.config=function(s,n){return e(t,s,n)},l},Bc=function e(t,s){void 0===s&&(s=1.70158);var n=function(e){return e?--e*e*((s+1)*e+s)+1:0},i="out"===t?n:"in"===t?function(e){return 1-n(1-e)}:zc(n);return i.config=function(s){return e(t,s)},i};xl("Linear,Quad,Cubic,Quart,Quint,Strong",(function(e,t){var s=t<5?t+1:t;qc(e+",Power"+(s-1),t?function(e){return Math.pow(e,s)}:function(e){return e},(function(e){return 1-Math.pow(1-e,s)}),(function(e){return e<.5?Math.pow(2*e,s)/2:1-Math.pow(2*(1-e),s)/2}))})),Pc.Linear.easeNone=Pc.none=Pc.Linear.easeIn,qc("Elastic",Uc("in"),Uc("out"),Uc()),function(e,t){var s=1/t,n=2*s,i=2.5*s,r=function(r){return r<s?e*r*r:r<n?e*Math.pow(r-1.5/t,2)+.75:r<i?e*(r-=2.25/t)*r+.9375:e*Math.pow(r-2.625/t,2)+.984375};qc("Bounce",(function(e){return 1-r(1-e)}),r)}(7.5625,2.75),qc("Expo",(function(e){return Math.pow(2,10*(e-1))*e+e*e*e*e*e*e*(1-e)})),qc("Circ",(function(e){return-(Co(1-e*e)-1)})),qc("Sine",(function(e){return 1===e?1:1-To(e*_o)})),qc("Back",Bc("in"),Bc("out"),Bc()),Pc.SteppedEase=Pc.steps=Qo.SteppedEase={config:function(e,t){void 0===e&&(e=1);var s=1/e,n=e+(t?0:1),i=t?1:0;return function(e){return((n*sc(0,.99999999,e)|0)+i)*s}}},So.ease=Pc["quad.out"],xl("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",(function(e){return ml+=e+","+e+"Params,"}));var Wc=function(e,t){this.id=Mo++,e._gsap=this,this.target=e,this.harness=t,this.get=t?t.get:yl,this.set=t?t.getSetter:od},Hc=function(){function e(e){this.vars=e,this._delay=+e.delay||0,(this._repeat=e.repeat===1/0?-2:e.repeat||0)&&(this._rDelay=e.repeatDelay||0,this._yoyo=!!e.yoyo||!!e.yoyoEase),this._ts=1,Kl(this,+e.duration,1,1),this.data=e.data,po&&(this._ctx=po,po.data.push(this)),wo||Ec.wake()}var t=e.prototype;return t.delay=function(e){return e||0===e?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+e-this._delay),this._delay=e,this):this._delay},t.duration=function(e){return arguments.length?this.totalDuration(this._repeat>0?e+(e+this._rDelay)*this._repeat:e):this.totalDuration()&&this._dur},t.totalDuration=function(e){return arguments.length?(this._dirty=0,Kl(this,this._repeat<0?e:(e-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},t.totalTime=function(e,t){if(Ic(),!arguments.length)return this._tTime;var s=this._dp;if(s&&s.smoothChildTiming&&this._ts){for(Wl(this,e),!s._dp||s.parent||Hl(s,this);s&&s.parent;)s.parent._time!==s._start+(s._ts>=0?s._tTime/s._ts:(s.totalDuration()-s._tTime)/-s._ts)&&s.totalTime(s._tTime,!0),s=s.parent;!this.parent&&this._dp.autoRemoveChildren&&(this._ts>0&&e<this._tDur||this._ts<0&&e>0||!this._tDur&&!e)&&Zl(this._dp,this,this._start-this._delay)}return(this._tTime!==e||!this._dur&&!t||this._initted&&Math.abs(this._zTime)===No||!this._initted&&this._dur&&e||!e&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=e),Nl(this,e,t)),this},t.time=function(e,t){return arguments.length?this.totalTime(Math.min(this.totalDuration(),e+ql(this))%(this._dur+this._rDelay)||(e?this._dur:0),t):this._time},t.totalProgress=function(e,t){return arguments.length?this.totalTime(this.totalDuration()*e,t):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.rawTime()>=0&&this._initted?1:0},t.progress=function(e,t){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?e:1-e)+ql(this),t):this.duration()?Math.min(1,this._time/this._dur):this.rawTime()>0?1:0},t.iteration=function(e,t){var s=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(e-1)*s,t):this._repeat?zl(this._tTime,s)+1:1},t.timeScale=function(e,t){if(!arguments.length)return-1e-8===this._rts?0:this._rts;if(this._rts===e)return this;var s=this.parent&&this._ts?Ul(this.parent._time,this):this._tTime;return this._rts=+e||0,this._ts=this._ps||-1e-8===e?0:this._rts,this.totalTime(sc(-Math.abs(this._delay),this.totalDuration(),s),!1!==t),Bl(this),function(e){for(var t=e.parent;t&&t.parent;)t._dirty=1,t.totalDuration(),t=t.parent;return e}(this)},t.paused=function(e){return arguments.length?(this._ps!==e&&(this._ps=e,e?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Ic(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&Math.abs(this._zTime)!==No&&(this._tTime-=No)))),this):this._ps},t.startTime=function(e){if(arguments.length){this._start=jl(e);var t=this.parent||this._dp;return t&&(t._sort||!this.parent)&&Zl(t,this,this._start-this._delay),this}return this._start},t.endTime=function(e){return this._start+(Ro(e)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},t.rawTime=function(e){var t=this.parent||this._dp;return t?e&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ul(t.rawTime(e),this):this._tTime:this._tTime},t.revert=function(e){void 0===e&&(e=al);var t=ho;return ho=e,kl(this)&&(this.timeline&&this.timeline.revert(e),this.totalTime(-.01,e.suppressEvents)),"nested"!==this.data&&!1!==e.kill&&this.kill(),ho=t,this},t.globalTime=function(e){for(var t=this,s=arguments.length?e:t.rawTime();t;)s=t._start+s/(Math.abs(t._ts)||1),t=t._dp;return!this.parent&&this._sat?this._sat.globalTime(e):s},t.repeat=function(e){return arguments.length?(this._repeat=e===1/0?-2:e,Ql(this)):-2===this._repeat?1/0:this._repeat},t.repeatDelay=function(e){if(arguments.length){var t=this._time;return this._rDelay=e,Ql(this),t?this.time(t):this}return this._rDelay},t.yoyo=function(e){return arguments.length?(this._yoyo=e,this):this._yoyo},t.seek=function(e,t){return this.totalTime(Jl(this,e),Ro(t))},t.restart=function(e,t){return this.play().totalTime(e?-this._delay:0,Ro(t)),this._dur||(this._zTime=-1e-8),this},t.play=function(e,t){return null!=e&&this.seek(e,t),this.reversed(!1).paused(!1)},t.reverse=function(e,t){return null!=e&&this.seek(e||this.totalDuration(),t),this.reversed(!0).paused(!1)},t.pause=function(e,t){return null!=e&&this.seek(e,t),this.paused(!0)},t.resume=function(){return this.paused(!1)},t.reversed=function(e){return arguments.length?(!!e!==this.reversed()&&this.timeScale(-this._rts||(e?-1e-8:0)),this):this._rts<0},t.invalidate=function(){return this._initted=this._act=0,this._zTime=-1e-8,this},t.isActive=function(){var e,t=this.parent||this._dp,s=this._start;return!(t&&!(this._ts&&this._initted&&t.isActive()&&(e=t.rawTime(!0))>=s&&e<this.endTime(!0)-No))},t.eventCallback=function(e,t,s){var n=this.vars;return arguments.length>1?(t?(n[e]=t,s&&(n[e+"Params"]=s),"onUpdate"===e&&(this._onUpdate=t)):delete n[e],this):n[e]},t.then=function(e){var t=this,s=t._prom;return new Promise((function(n){var i=Po(e)?e:_l,r=function(){var e=t.then;t.then=null,s&&s(),Po(i)&&(i=i(t))&&(i.then||i===t)&&(t.then=e),n(i),t.then=e};t._initted&&1===t.totalProgress()&&t._ts>=0||!t._tTime&&t._ts<0?r():t._prom=r}))},t.kill=function(){vc(this)},e}();Ml(Hc.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-1e-8,_prom:0,_ps:!1,_rts:1});var Zc=function(e){function t(t,s){var n;return void 0===t&&(t={}),(n=e.call(this,t)||this).labels={},n.smoothChildTiming=!!t.smoothChildTiming,n.autoRemoveChildren=!!t.autoRemoveChildren,n._sort=Ro(t.sortChildren),mo&&Zl(t.parent||mo,lo(n),s),t.reversed&&n.reverse(),t.paused&&n.paused(!0),t.scrollTrigger&&$l(lo(n),t.scrollTrigger),n}co(t,e);var s=t.prototype;return s.to=function(e,t,s){return ec(0,arguments,this),this},s.from=function(e,t,s){return ec(1,arguments,this),this},s.fromTo=function(e,t,s,n){return ec(2,arguments,this),this},s.set=function(e,t,s){return t.duration=0,t.parent=this,Il(t).repeatDelay||(t.repeat=0),t.immediateRender=!!t.immediateRender,new sd(e,t,Jl(this,s),1),this},s.call=function(e,t,s){return Zl(this,sd.delayedCall(0,e,t),s)},s.staggerTo=function(e,t,s,n,i,r,a){return s.duration=t,s.stagger=s.stagger||n,s.onComplete=r,s.onCompleteParams=a,s.parent=this,new sd(e,s,Jl(this,i)),this},s.staggerFrom=function(e,t,s,n,i,r,a){return s.runBackwards=1,Il(s).immediateRender=Ro(s.immediateRender),this.staggerTo(e,t,s,n,i,r,a)},s.staggerFromTo=function(e,t,s,n,i,r,a,o){return n.startAt=s,Il(n).immediateRender=Ro(n.immediateRender),this.staggerTo(e,t,n,i,r,a,o)},s.render=function(e,t,s){var n,i,r,a,o,l,c,d,u,h,p,m,f=this._time,g=this._dirty?this.totalDuration():this._tDur,y=this._dur,x=e<=0?0:jl(e),v=this._zTime<0!==e<0&&(this._initted||!y);if(this!==mo&&x>g&&e>=0&&(x=g),x!==this._tTime||s||v){if(f!==this._time&&y&&(x+=this._time-f,e+=this._time-f),n=x,u=this._start,l=!(d=this._ts),v&&(y||(f=this._zTime),(e||!t)&&(this._zTime=e)),this._repeat){if(p=this._yoyo,o=y+this._rDelay,this._repeat<-1&&e<0)return this.totalTime(100*o+e,t,s);if(n=jl(x%o),x===g?(a=this._repeat,n=y):((a=~~(h=jl(x/o)))&&a===h&&(n=y,a--),n>y&&(n=y)),h=zl(this._tTime,o),!f&&this._tTime&&h!==a&&this._tTime-h*o-this._dur<=0&&(h=a),p&&1&a&&(n=y-n,m=1),a!==h&&!this._lock){var j=p&&1&h,w=j===(p&&1&a);if(a<h&&(j=!j),f=j?0:x%y?y:x,this._lock=1,this.render(f||(m?0:jl(a*o)),t,!y)._lock=0,this._tTime=x,!t&&this.parent&&xc(this,"onRepeat"),this.vars.repeatRefresh&&!m&&(this.invalidate()._lock=1,h=a),f&&f!==this._time||l!==!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(y=this._dur,g=this._tDur,w&&(this._lock=2,f=j?y:-1e-4,this.render(f,!0),this.vars.repeatRefresh&&!m&&this.invalidate()),this._lock=0,!this._ts&&!l)return this}}if(this._hasPause&&!this._forcing&&this._lock<2&&(c=function(e,t,s){var n;if(s>t)for(n=e._first;n&&n._start<=s;){if("isPause"===n.data&&n._start>t)return n;n=n._next}else for(n=e._last;n&&n._start>=s;){if("isPause"===n.data&&n._start<t)return n;n=n._prev}}(this,jl(f),jl(n)),c&&(x-=n-(n=c._start))),this._tTime=x,this._time=n,this._act=!!d,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=e,f=0),!f&&x&&y&&!t&&!h&&(xc(this,"onStart"),this._tTime!==x))return this;if(n>=f&&e>=0)for(i=this._first;i;){if(r=i._next,(i._act||n>=i._start)&&i._ts&&c!==i){if(i.parent!==this)return this.render(e,t,s);if(i.render(i._ts>0?(n-i._start)*i._ts:(i._dirty?i.totalDuration():i._tDur)+(n-i._start)*i._ts,t,s),n!==this._time||!this._ts&&!l){c=0,r&&(x+=this._zTime=-1e-8);break}}i=r}else{i=this._last;for(var b=e<0?e:n;i;){if(r=i._prev,(i._act||b<=i._end)&&i._ts&&c!==i){if(i.parent!==this)return this.render(e,t,s);if(i.render(i._ts>0?(b-i._start)*i._ts:(i._dirty?i.totalDuration():i._tDur)+(b-i._start)*i._ts,t,s||ho&&kl(i)),n!==this._time||!this._ts&&!l){c=0,r&&(x+=this._zTime=b?-1e-8:No);break}}i=r}}if(c&&!t&&(this.pause(),c.render(n>=f?0:-1e-8)._zTime=n>=f?1:-1,this._ts))return this._start=u,Bl(this),this.render(e,t,s);this._onUpdate&&!t&&xc(this,"onUpdate",!0),(x===g&&this._tTime>=this.totalDuration()||!x&&f)&&(u!==this._start&&Math.abs(d)===Math.abs(this._ts)||this._lock||((e||!y)&&(x===g&&this._ts>0||!x&&this._ts<0)&&Fl(this,1),t||e<0&&!f||!x&&!f&&g||(xc(this,x===g&&e>=0?"onComplete":"onReverseComplete",!0),this._prom&&!(x<g&&this.timeScale()>0)&&this._prom())))}return this},s.add=function(e,t){var s=this;if(Do(t)||(t=Jl(this,t,e)),!(e instanceof Hc)){if(Uo(e))return e.forEach((function(e){return s.add(e,t)})),this;if(Io(e))return this.addLabel(e,t);if(!Po(e))return this;e=sd.delayedCall(0,e)}return this!==e?Zl(this,e,t):this},s.getChildren=function(e,t,s,n){void 0===e&&(e=!0),void 0===t&&(t=!0),void 0===s&&(s=!0),void 0===n&&(n=-ko);for(var i=[],r=this._first;r;)r._start>=n&&(r instanceof sd?t&&i.push(r):(s&&i.push(r),e&&i.push.apply(i,r.getChildren(!0,t,s)))),r=r._next;return i},s.getById=function(e){for(var t=this.getChildren(1,1,1),s=t.length;s--;)if(t[s].vars.id===e)return t[s]},s.remove=function(e){return Io(e)?this.removeLabel(e):Po(e)?this.killTweensOf(e):(e.parent===this&&Dl(this,e),e===this._recent&&(this._recent=this._last),Ol(this))},s.totalTime=function(t,s){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=jl(Ec.time-(this._ts>0?t/this._ts:(this.totalDuration()-t)/-this._ts))),e.prototype.totalTime.call(this,t,s),this._forcing=0,this):this._tTime},s.addLabel=function(e,t){return this.labels[e]=Jl(this,t),this},s.removeLabel=function(e){return delete this.labels[e],this},s.addPause=function(e,t,s){var n=sd.delayedCall(0,t||nl,s);return n.data="isPause",this._hasPause=1,Zl(this,n,Jl(this,e))},s.removePause=function(e){var t=this._first;for(e=Jl(this,e);t;)t._start===e&&"isPause"===t.data&&Fl(t),t=t._next},s.killTweensOf=function(e,t,s){for(var n=this.getTweensOf(e,s),i=n.length;i--;)$c!==n[i]&&n[i].kill(e,t);return this},s.getTweensOf=function(e,t){for(var s,n=[],i=oc(e),r=this._first,a=Do(t);r;)r instanceof sd?bl(r._targets,i)&&(a?(!$c||r._initted&&r._ts)&&r.globalTime(0)<=t&&r.globalTime(r.totalDuration())>t:!t||r.isActive())&&n.push(r):(s=r.getTweensOf(i,t)).length&&n.push.apply(n,s),r=r._next;return n},s.tweenTo=function(e,t){t=t||{};var s,n=this,i=Jl(n,e),r=t,a=r.startAt,o=r.onStart,l=r.onStartParams,c=r.immediateRender,d=sd.to(n,Ml({ease:t.ease||"none",lazy:!1,immediateRender:!1,time:i,overwrite:"auto",duration:t.duration||Math.abs((i-(a&&"time"in a?a.time:n._time))/n.timeScale())||No,onStart:function(){if(n.pause(),!s){var e=t.duration||Math.abs((i-(a&&"time"in a?a.time:n._time))/n.timeScale());d._dur!==e&&Kl(d,e,0,1).render(d._time,!0,!0),s=1}o&&o.apply(d,l||[])}},t));return c?d.render(0):d},s.tweenFromTo=function(e,t,s){return this.tweenTo(t,Ml({startAt:{time:Jl(this,e)}},s))},s.recent=function(){return this._recent},s.nextLabel=function(e){return void 0===e&&(e=this._time),yc(this,Jl(this,e))},s.previousLabel=function(e){return void 0===e&&(e=this._time),yc(this,Jl(this,e),1)},s.currentLabel=function(e){return arguments.length?this.seek(e,!0):this.previousLabel(this._time+No)},s.shiftChildren=function(e,t,s){void 0===s&&(s=0);var n,i=this._first,r=this.labels;for(e=jl(e);i;)i._start>=s&&(i._start+=e,i._end+=e),i=i._next;if(t)for(n in r)r[n]>=s&&(r[n]+=e);return Ol(this)},s.invalidate=function(t){var s=this._first;for(this._lock=0;s;)s.invalidate(t),s=s._next;return e.prototype.invalidate.call(this,t)},s.clear=function(e){void 0===e&&(e=!0);for(var t,s=this._first;s;)t=s._next,this.remove(s),s=t;return this._dp&&(this._time=this._tTime=this._pTime=0),e&&(this.labels={}),Ol(this)},s.totalDuration=function(e){var t,s,n,i=0,r=this,a=r._last,o=ko;if(arguments.length)return r.timeScale((r._repeat<0?r.duration():r.totalDuration())/(r.reversed()?-e:e));if(r._dirty){for(n=r.parent;a;)t=a._prev,a._dirty&&a.totalDuration(),(s=a._start)>o&&r._sort&&a._ts&&!r._lock?(r._lock=1,Zl(r,a,s-a._delay,1)._lock=0):o=s,s<0&&a._ts&&(i-=s,(!n&&!r._dp||n&&n.smoothChildTiming)&&(r._start+=jl(s/r._ts),r._time-=s,r._tTime-=s),r.shiftChildren(-s,!1,-Infinity),o=0),a._end>i&&a._ts&&(i=a._end),a=t;Kl(r,r===mo&&r._time>i?r._time:i,1,1),r._dirty=0}return r._tDur},t.updateRoot=function(e){if(mo._ts&&(Nl(mo,Ul(e,mo)),vo=Ec.frame),Ec.frame>=hl){hl+=bo.autoSleep||120;var t=mo._first;if((!t||!t._ts)&&bo.autoSleep&&Ec._listeners.length<2){for(;t&&!t._ts;)t=t._next;t||Ec.sleep()}}},t}(Hc);Ml(Zc.prototype,{_lock:0,_hasPause:0,_forcing:0});var $c,Gc,Vc=function(e,t,s,n,i,r,a){var o,l,c,d,u,h,p,m,f=new gd(this._pt,e,t,0,1,dd,null,i),g=0,y=0;for(f.b=s,f.e=n,s+="",(p=~(n+="").indexOf("random("))&&(n=fc(n)),r&&(r(m=[s,n],e,t),s=m[0],n=m[1]),l=s.match(Go)||[];o=Go.exec(n);)d=o[0],u=n.substring(g,o.index),c?c=(c+1)%5:"rgba("===u.substr(-5)&&(c=1),d!==l[y++]&&(h=parseFloat(l[y-1])||0,f._pt={_next:f._pt,p:u||1===y?u:",",s:h,c:"="===d.charAt(1)?wl(h,d)-h:parseFloat(d)-h,m:c&&c<4?Math.round:0},g=Go.lastIndex);return f.c=g<n.length?n.substring(g,n.length):"",f.fp=a,(Vo.test(n)||p)&&(f.e=0),this._pt=f,f},Yc=function(e,t,s,n,i,r,a,o,l,c){Po(n)&&(n=n(i||0,e,r));var d,u=e[t],h="get"!==s?s:Po(u)?l?e[t.indexOf("set")||!Po(e["get"+t.substr(3)])?t:"get"+t.substr(3)](l):e[t]():u,p=Po(u)?l?rd:id:nd;if(Io(n)&&(~n.indexOf("random(")&&(n=fc(n)),"="===n.charAt(1)&&((d=wl(h,n)+(nc(h)||0))||0===d)&&(n=d)),!c||h!==n||Gc)return isNaN(h*n)||""===n?(!u&&!(t in e)&&el(t,n),Vc.call(this,e,t,h,n,p,o||bo.stringFilter,l)):(d=new gd(this._pt,e,t,+h||0,n-(h||0),"boolean"===typeof u?cd:ld,0,p),l&&(d.fp=l),a&&d.modifier(a,this,e),this._pt=d)},Kc=function(e,t,s,n,i,r){var a,o,l,c;if(dl[e]&&!1!==(a=new dl[e]).init(i,a.rawVars?t[e]:function(e,t,s,n,i){if(Po(e)&&(e=Jc(e,i,t,s,n)),!Oo(e)||e.style&&e.nodeType||Uo(e)||zo(e))return Io(e)?Jc(e,i,t,s,n):e;var r,a={};for(r in e)a[r]=Jc(e[r],i,t,s,n);return a}(t[e],n,i,r,s),s,n,r)&&(s._pt=o=new gd(s._pt,i,e,0,1,a.render,a,0,a.priority),s!==jo))for(l=s._ptLookup[s._targets.indexOf(i)],c=a._props.length;c--;)l[a._props[c]]=o;return a},Qc=function e(t,s,n){var i,r,a,o,l,c,d,u,h,p,m,f,g,y=t.vars,x=y.ease,v=y.startAt,j=y.immediateRender,w=y.lazy,b=y.onUpdate,S=y.runBackwards,k=y.yoyoEase,N=y.keyframes,A=y.autoRevert,_=t._dur,M=t._startAt,C=t._targets,T=t.parent,E=T&&"nested"===T.data?T.vars.targets:C,I="auto"===t._overwrite&&!uo,P=t.timeline,D=y.easeReverse||k;if(P&&(!N||!x)&&(x="none"),t._ease=Lc(x,So.ease),t._rEase=D&&(Lc(D)||t._ease),t._from=!P&&!!y.runBackwards,t._from&&(t.ratio=1),!P||N&&!y.stagger){if(f=(u=C[0]?gl(C[0]).harness:0)&&y[u.prop],i=El(y,ol),M&&(M._zTime<0&&M.progress(1),s<0&&S&&j&&!A?M.render(-1,!0):M.revert(S&&_?rl:il),M._lazy=0),v){if(Fl(t._startAt=sd.set(C,Ml({data:"isStart",overwrite:!1,parent:T,immediateRender:!0,lazy:!M&&Ro(w),startAt:null,delay:0,onUpdate:b&&function(){return xc(t,"onUpdate")},stagger:0},v))),t._startAt._dp=0,t._startAt._sat=t,s<0&&(ho||!j&&!A)&&t._startAt.revert(rl),j&&_&&s<=0&&n<=0)return void(s&&(t._zTime=s))}else if(S&&_&&!M)if(s&&(j=!1),a=Ml({overwrite:!1,data:"isFromStart",lazy:j&&!M&&Ro(w),immediateRender:j,stagger:0,parent:T},i),f&&(a[u.prop]=f),Fl(t._startAt=sd.set(C,a)),t._startAt._dp=0,t._startAt._sat=t,s<0&&(ho?t._startAt.revert(rl):t._startAt.render(-1,!0)),t._zTime=s,j){if(!s)return}else e(t._startAt,No,No);for(t._pt=t._ptCache=0,w=_&&Ro(w)||w&&!_,r=0;r<C.length;r++){if(d=(l=C[r])._gsap||fl(C)[r]._gsap,t._ptLookup[r]=p={},cl[d.id]&&ll.length&&Sl(),m=E===C?r:E.indexOf(l),u&&!1!==(h=new u).init(l,f||i,t,m,E)&&(t._pt=o=new gd(t._pt,l,h.name,0,1,h.render,h,0,h.priority),h._props.forEach((function(e){p[e]=o})),h.priority&&(c=1)),!u||f)for(a in i)dl[a]&&(h=Kc(a,i,t,m,l,E))?h.priority&&(c=1):p[a]=o=Yc.call(t,l,a,"get",i[a],m,E,0,y.stringFilter);t._op&&t._op[r]&&t.kill(l,t._op[r]),I&&t._pt&&($c=t,mo.killTweensOf(l,p,t.globalTime(s)),g=!t.parent,$c=0),t._pt&&w&&(cl[d.id]=1)}c&&fd(t),t._onInit&&t._onInit(t)}t._onUpdate=b,t._initted=(!t._op||t._pt)&&!g,N&&s<=0&&P.render(ko,!0,!0)},Xc=function(e,t,s,n){var i,r,a=t.ease||n||"power1.inOut";if(Uo(t))r=s[e]||(s[e]=[]),t.forEach((function(e,s){return r.push({t:s/(t.length-1)*100,v:e,e:a})}));else for(i in t)r=s[i]||(s[i]=[]),"ease"===i||r.push({t:parseFloat(e),v:t[i],e:a})},Jc=function(e,t,s,n,i){return Po(e)?e.call(t,s,n,i):Io(e)&&~e.indexOf("random(")?fc(e):e},ed=ml+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,easeReverse,autoRevert",td={};xl(ed+",id,stagger,delay,duration,paused,scrollTrigger",(function(e){return td[e]=1}));var sd=function(e){function t(t,s,n,i){var r;"number"===typeof s&&(n.duration=s,s=n,n=null);var a,o,l,c,d,u,h,p,m=(r=e.call(this,i?s:Il(s))||this).vars,f=m.duration,g=m.delay,y=m.immediateRender,x=m.stagger,v=m.overwrite,j=m.keyframes,w=m.defaults,b=m.scrollTrigger,S=s.parent||mo,k=(Uo(t)||zo(t)?Do(t[0]):"length"in s)?[t]:oc(t);if(r._targets=k.length?fl(k):tl("GSAP target "+t+" not found. https://gsap.com",!bo.nullTargetWarn)||[],r._ptLookup=[],r._overwrite=v,j||x||qo(f)||qo(g)){var N=(s=r.vars).easeReverse||s.yoyoEase;if((a=r.timeline=new Zc({data:"nested",defaults:w||{},targets:S&&"nested"===S.data?S.vars.targets:k})).kill(),a.parent=a._dp=lo(r),a._start=0,x||qo(f)||qo(g)){if(c=k.length,h=x&&dc(x),Oo(x))for(d in x)~ed.indexOf(d)&&(p||(p={}),p[d]=x[d]);for(o=0;o<c;o++)(l=El(s,td)).stagger=0,N&&(l.easeReverse=N),p&&Cl(l,p),u=k[o],l.duration=+Jc(f,lo(r),o,u,k),l.delay=(+Jc(g,lo(r),o,u,k)||0)-r._delay,!x&&1===c&&l.delay&&(r._delay=g=l.delay,r._start+=g,l.delay=0),a.to(u,l,h?h(o,u,k):0),a._ease=Pc.none;a.duration()?f=g=0:r.timeline=0}else if(j){Il(Ml(a.vars.defaults,{ease:"none"})),a._ease=Lc(j.ease||s.ease||"none");var A,_,M,C=0;if(Uo(j))j.forEach((function(e){return a.to(k,e,">")})),a.duration();else{for(d in l={},j)"ease"===d||"easeEach"===d||Xc(d,j[d],l,j.easeEach);for(d in l)for(A=l[d].sort((function(e,t){return e.t-t.t})),C=0,o=0;o<A.length;o++)(M={ease:(_=A[o]).e,duration:(_.t-(o?A[o-1].t:0))/100*f})[d]=_.v,a.to(k,M,C),C+=M.duration;a.duration()<f&&a.to({},{duration:f-a.duration()})}}f||r.duration(f=a.duration())}else r.timeline=0;return!0!==v||uo||($c=lo(r),mo.killTweensOf(k),$c=0),Zl(S,lo(r),n),s.reversed&&r.reverse(),s.paused&&r.paused(!0),(y||!f&&!j&&r._start===jl(S._time)&&Ro(y)&&Ll(lo(r))&&"nested"!==S.data)&&(r._tTime=-1e-8,r.render(Math.max(0,-g)||0)),b&&$l(lo(r),b),r}co(t,e);var s=t.prototype;return s.render=function(e,t,s){var n,i,r,a,o,l,c,d,u=this._time,h=this._tDur,p=this._dur,m=e<0,f=e>h-No&&!m?h:e<No?0:e;if(p){if(f!==this._tTime||!e||s||!this._initted&&this._tTime||this._startAt&&this._zTime<0!==m||this._lazy){if(n=f,d=this.timeline,this._repeat){if(a=p+this._rDelay,this._repeat<-1&&m)return this.totalTime(100*a+e,t,s);if(n=jl(f%a),f===h?(r=this._repeat,n=p):(r=~~(o=jl(f/a)))&&r===o?(n=p,r--):n>p&&(n=p),(l=this._yoyo&&1&r)&&(n=p-n),o=zl(this._tTime,a),n===u&&!s&&this._initted&&r===o)return this._tTime=f,this;r!==o&&this.vars.repeatRefresh&&!l&&!this._lock&&n!==a&&this._initted&&(this._lock=s=1,this.render(jl(a*r),!0).invalidate()._lock=0)}if(!this._initted){if(Gl(this,m?e:n,s,t,f))return this._tTime=0,this;if(u!==this._time&&(!s||!this.vars.repeatRefresh||r===o))return this;if(p!==this._dur)return this.render(e,t,s)}if(this._rEase){var g=n<u;if(g!==this._inv){var y=g?u:p-u;this._inv=g,this._from&&(this.ratio=1-this.ratio),this._invRatio=this.ratio,this._invTime=u,this._invRecip=y?(g?-1:1)/y:0,this._invScale=g?-this.ratio:1-this.ratio,this._invEase=g?this._rEase:this._ease}this.ratio=c=this._invRatio+this._invScale*this._invEase((n-this._invTime)*this._invRecip)}else this.ratio=c=this._ease(n/p);if(this._from&&(this.ratio=c=1-c),this._tTime=f,this._time=n,!this._act&&this._ts&&(this._act=1,this._lazy=0),!u&&f&&!t&&!o&&(xc(this,"onStart"),this._tTime!==f))return this;for(i=this._pt;i;)i.r(c,i.d),i=i._next;d&&d.render(e<0?e:d._dur*d._ease(n/this._dur),t,s)||this._startAt&&(this._zTime=e),this._onUpdate&&!t&&(m&&Rl(this,e,0,s),xc(this,"onUpdate")),this._repeat&&r!==o&&this.vars.onRepeat&&!t&&this.parent&&xc(this,"onRepeat"),f!==this._tDur&&f||this._tTime!==f||(m&&!this._onUpdate&&Rl(this,e,0,!0),(e||!p)&&(f===this._tDur&&this._ts>0||!f&&this._ts<0)&&Fl(this,1),t||m&&!u||!(f||u||l)||(xc(this,f===h?"onComplete":"onReverseComplete",!0),this._prom&&!(f<h&&this.timeScale()>0)&&this._prom()))}}else!function(e,t,s,n){var i,r,a,o=e.ratio,l=t<0||!t&&(!e._start&&Vl(e)&&(e._initted||!Yl(e))||(e._ts<0||e._dp._ts<0)&&!Yl(e))?0:1,c=e._rDelay,d=0;if(c&&e._repeat&&(d=sc(0,e._tDur,t),r=zl(d,c),e._yoyo&&1&r&&(l=1-l),r!==zl(e._tTime,c)&&(o=1-l,e.vars.repeatRefresh&&e._initted&&e.invalidate())),l!==o||ho||n||e._zTime===No||!t&&e._zTime){if(!e._initted&&Gl(e,t,n,s,d))return;for(a=e._zTime,e._zTime=t||(s?No:0),s||(s=t&&!a),e.ratio=l,e._from&&(l=1-l),e._time=0,e._tTime=d,i=e._pt;i;)i.r(l,i.d),i=i._next;t<0&&Rl(e,t,0,!0),e._onUpdate&&!s&&xc(e,"onUpdate"),d&&e._repeat&&!s&&e.parent&&xc(e,"onRepeat"),(t>=e._tDur||t<0)&&e.ratio===l&&(l&&Fl(e,1),s||ho||(xc(e,l?"onComplete":"onReverseComplete",!0),e._prom&&e._prom()))}else e._zTime||(e._zTime=t)}(this,e,t,s);return this},s.targets=function(){return this._targets},s.invalidate=function(t){return(!t||!this.vars.runBackwards)&&(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),e.prototype.invalidate.call(this,t)},s.resetTo=function(e,t,s,n,i){wo||Ec.wake(),this._ts||this.play();var r=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Qc(this,r),function(e,t,s,n,i,r,a,o){var l,c,d,u,h=(e._pt&&e._ptCache||(e._ptCache={}))[t];if(!h)for(h=e._ptCache[t]=[],d=e._ptLookup,u=e._targets.length;u--;){if((l=d[u][t])&&l.d&&l.d._pt)for(l=l.d._pt;l&&l.p!==t&&l.fp!==t;)l=l._next;if(!l)return Gc=1,e.vars[t]="+=0",Qc(e,a),Gc=0,o?tl(t+" not eligible for reset. Try splitting into individual properties"):1;h.push(l)}for(u=h.length;u--;)(l=(c=h[u])._pt||c).s=!n&&0!==n||i?l.s+(n||0)+r*l.c:n,l.c=s-l.s,c.e&&(c.e=vl(s)+nc(c.e)),c.b&&(c.b=l.s+nc(c.b))}(this,e,t,s,n,this._ease(r/this._dur),r,i)?this.resetTo(e,t,s,n,1):(Wl(this,0),this.parent||Pl(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},s.kill=function(e,t){if(void 0===t&&(t="all"),!e&&(!t||"all"===t))return this._lazy=this._pt=0,this.parent?vc(this):this.scrollTrigger&&this.scrollTrigger.kill(!!ho),this;if(this.timeline){var s=this.timeline.totalDuration();return this.timeline.killTweensOf(e,t,$c&&!0!==$c.vars.overwrite)._first||vc(this),this.parent&&s!==this.timeline.totalDuration()&&Kl(this,this._dur*this.timeline._tDur/s,0,1),this}var n,i,r,a,o,l,c,d=this._targets,u=e?oc(e):d,h=this._ptLookup,p=this._pt;if((!t||"all"===t)&&function(e,t){for(var s=e.length,n=s===t.length;n&&s--&&e[s]===t[s];);return s<0}(d,u))return"all"===t&&(this._pt=0),vc(this);for(n=this._op=this._op||[],"all"!==t&&(Io(t)&&(o={},xl(t,(function(e){return o[e]=1})),t=o),t=function(e,t){var s,n,i,r,a=e[0]?gl(e[0]).harness:0,o=a&&a.aliases;if(!o)return t;for(n in s=Cl({},t),o)if(n in s)for(i=(r=o[n].split(",")).length;i--;)s[r[i]]=s[n];return s}(d,t)),c=d.length;c--;)if(~u.indexOf(d[c]))for(o in i=h[c],"all"===t?(n[c]=t,a=i,r={}):(r=n[c]=n[c]||{},a=t),a)(l=i&&i[o])&&("kill"in l.d&&!0!==l.d.kill(o)||Dl(this,l,"_pt"),delete i[o]),"all"!==r&&(r[o]=1);return this._initted&&!this._pt&&p&&vc(this),this},t.to=function(e,s){return new t(e,s,arguments[2])},t.from=function(e,t){return ec(1,arguments)},t.delayedCall=function(e,s,n,i){return new t(s,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:e,onComplete:s,onReverseComplete:s,onCompleteParams:n,onReverseCompleteParams:n,callbackScope:i})},t.fromTo=function(e,t,s){return ec(2,arguments)},t.set=function(e,s){return s.duration=0,s.repeatDelay||(s.repeat=0),new t(e,s)},t.killTweensOf=function(e,t,s){return mo.killTweensOf(e,t,s)},t}(Hc);Ml(sd.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),xl("staggerTo,staggerFrom,staggerFromTo",(function(e){sd[e]=function(){var t=new Zc,s=ic.call(arguments,0);return s.splice("staggerFromTo"===e?5:4,0,0),t[e].apply(t,s)}}));var nd=function(e,t,s){return e[t]=s},id=function(e,t,s){return e[t](s)},rd=function(e,t,s,n){return e[t](n.fp,s)},ad=function(e,t,s){return e.setAttribute(t,s)},od=function(e,t){return Po(e[t])?id:Fo(e[t])&&e.setAttribute?ad:nd},ld=function(e,t){return t.set(t.t,t.p,Math.round(1e6*(t.s+t.c*e))/1e6,t)},cd=function(e,t){return t.set(t.t,t.p,!!(t.s+t.c*e),t)},dd=function(e,t){var s=t._pt,n="";if(!e&&t.b)n=t.b;else if(1===e&&t.e)n=t.e;else{for(;s;)n=s.p+(s.m?s.m(s.s+s.c*e):Math.round(1e4*(s.s+s.c*e))/1e4)+n,s=s._next;n+=t.c}t.set(t.t,t.p,n,t)},ud=function(e,t){for(var s=t._pt;s;)s.r(e,s.d),s=s._next},hd=function(e,t,s,n){for(var i,r=this._pt;r;)i=r._next,r.p===n&&r.modifier(e,t,s),r=i},pd=function(e){for(var t,s,n=this._pt;n;)s=n._next,n.p===e&&!n.op||n.op===e?Dl(this,n,"_pt"):n.dep||(t=1),n=s;return!t},md=function(e,t,s,n){n.mSet(e,t,n.m.call(n.tween,s,n.mt),n)},fd=function(e){for(var t,s,n,i,r=e._pt;r;
2){for(t=r._next,s=n;s&&s.pr>r.pr;)s=s._next;(r._prev=s?s._prev:i)?r._prev._next=r:n=r,(r._next=s)?s._prev=r:i=r,r=t}e._pt=n},gd=function(){function e(e,t,s,n,i,r,a,o,l){this.t=t,this.s=n,this.c=i,this.p=s,this.r=r||ld,this.d=a||this,this.set=o||nd,this.pr=l||0,this._next=e,e&&(e._prev=this)}return e.prototype.modifier=function(e,t,s){this.mSet=this.mSet||this.set,this.set=md,this.m=e,this.mt=s,this.tween=t},e}();xl(ml+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger,easeReverse",(function(e){return ol[e]=1})),Qo.TweenMax=Qo.TweenLite=sd,Qo.TimelineLite=Qo.TimelineMax=Zc,mo=new Zc({sortChildren:!1,defaults:So,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),bo.stringFilter=Tc;var yd=[],xd={},vd=[],jd=0,wd=0,bd=function(e){return(xd[e]||vd).map((function(e){return e()}))},Sd=function(){var e=Date.now(),t=[];e-jd>2&&(bd("matchMediaInit"),yd.forEach((function(e){var s,n,i,r,a=e.queries,o=e.conditions;for(n in a)(s=fo.matchMedia(a[n]).matches)&&(i=1),s!==o[n]&&(o[n]=s,r=1);r&&(e.revert(),i&&t.push(e))})),bd("matchMediaRevert"),t.forEach((function(e){return e.onMatch(e,(function(t){return e.add(null,t)}))})),jd=e,bd("matchMedia"))},kd=function(){function e(e,t){this.selector=t&&lc(t),this.data=[],this._r=[],this.isReverted=!1,this.id=wd++,e&&this.add(e)}var t=e.prototype;return t.add=function(e,t,s){Po(e)&&(s=t,t=e,e=Po);var n=this,i=function(){var e,i=po,r=n.selector;return i&&i!==n&&i.data.push(n),s&&(n.selector=lc(s)),po=n,e=t.apply(n,arguments),Po(e)&&n._r.push(e),po=i,n.selector=r,n.isReverted=!1,e};return n.last=i,e===Po?i(n,(function(e){return n.add(null,e)})):e?n[e]=i:i},t.ignore=function(e){var t=po;po=null,e(this),po=t},t.getTweens=function(){var t=[];return this.data.forEach((function(s){return s instanceof e?t.push.apply(t,s.getTweens()):s instanceof sd&&!(s.parent&&"nested"===s.parent.data)&&t.push(s)})),t},t.clear=function(){this._r.length=this.data.length=0},t.kill=function(e,t){var s=this;if(e?function(){for(var t,n=s.getTweens(),i=s.data.length;i--;)"isFlip"===(t=s.data[i]).data&&(t.revert(),t.getChildren(!0,!0,!1).forEach((function(e){return n.splice(n.indexOf(e),1)})));for(n.map((function(e){return{g:e._dur||e._delay||e._sat&&!e._sat.vars.immediateRender?e.globalTime(0):-1/0,t:e}})).sort((function(e,t){return t.g-e.g||-1/0})).forEach((function(t){return t.t.revert(e)})),i=s.data.length;i--;)(t=s.data[i])instanceof Zc?"nested"!==t.data&&(t.scrollTrigger&&t.scrollTrigger.revert(),t.kill()):!(t instanceof sd)&&t.revert&&t.revert(e);s._r.forEach((function(t){return t(e,s)})),s.isReverted=!0}():this.data.forEach((function(e){return e.kill&&e.kill()})),this.clear(),t)for(var n=yd.length;n--;)yd[n].id===this.id&&yd.splice(n,1)},t.revert=function(e){this.kill(e||{})},e}(),Nd=function(){function e(e){this.contexts=[],this.scope=e,po&&po.data.push(this)}var t=e.prototype;return t.add=function(e,t,s){Oo(e)||(e={matches:e});var n,i,r,a=new kd(0,s||this.scope),o=a.conditions={};for(i in po&&!a.selector&&(a.selector=po.selector),this.contexts.push(a),t=a.add("onMatch",t),a.queries=e,e)"all"===i?r=1:(n=fo.matchMedia(e[i]))&&(yd.indexOf(a)<0&&yd.push(a),(o[i]=n.matches)&&(r=1),n.addListener?n.addListener(Sd):n.addEventListener("change",Sd));return r&&t(a,(function(e){return a.add(null,e)})),this},t.revert=function(e){this.kill(e||{})}
2,t.kill=function(e){this.contexts.forEach((function(t){return t.kill(e,!0)}))},e}(),Ad={registerPlugin:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];t.forEach((function(e){return wc(e)}))},timeline:function(e){return new Zc(e)},getTweensOf:function(e,t){return mo.getTweensOf(e,t)},getProperty:function(e,t,s,n){Io(e)&&(e=oc(e)[0]);var i=gl(e||{}).get,r=s?_l:Al;return"native"===s&&(s=""),e?t?r((dl[t]&&dl[t].get||i)(e,t,s,n)):function(t,s,n){return r((dl[t]&&dl[t].get||i)(e,t,s,n))}:e},quickSetter:function(e,t,s){if((e=oc(e)).length>1){var n=e.map((function(e){return Cd.quickSetter(e,t,s)})),i=n.length;return function(e){for(var t=i;t--;)n[t](e)}}e=e[0]||{};var r=dl[t],a=gl(e),o=a.harness&&(a.harness.aliases||{})[t]||t,l=r?function(t){var n=new r;jo._pt=0,n.init(e,s?t+s:t,jo,0,[e]),n.render(1,n),jo._pt&&ud(1,jo)}:a.set(e,o);return r?l:function(t){return l(e,o,s?t+s:t,a,1)}},quickTo:function(e,t,s){var n,i=Cd.to(e,Ml(((n={})[t]="+=0.1",n.paused=!0,n.stagger=0,n),s||{})),r=function(e,s,n){return i.resetTo(t,e,s,n)};return r.tween=i,r},isTweening:function(e){return mo.getTweensOf(e,!0).length>0},defaults:function(e){return e&&e.ease&&(e.ease=Lc(e.ease,So.ease)),Tl(So,e||{})},config:function(e){return Tl(bo,e||{})},registerEffect:function(e){var t=e.name,s=e.effect,n=e.plugins,i=e.defaults,r=e.extendTimeline;(n||"").split(",").forEach((function(e){return e&&!dl[e]&&!Qo[e]&&tl(t+" effect requires "+e+" plugin.")})),ul[t]=function(e,t,n){return s(oc(e),Ml(t||{},i),n)},r&&(Zc.prototype[t]=function(e,s,n){return this.add(ul[t](e,Oo(s)?s:(n=s)&&{},this),n)})},registerEase:function(e,t){Pc[e]=Lc(t)},parseEase:function(e,t){return arguments.length?Lc(e,t):Pc},getById:function(e){return mo.getById(e)},exportRoot:function(e,t){void 0===e&&(e={});var s,n,i=new Zc(e);for(i.smoothChildTiming=Ro(e.smoothChildTiming),mo.remove(i),i._dp=0,i._time=i._tTime=mo._time,s=mo._first;s;)n=s._next,!t&&!s._dur&&s instanceof sd&&s.vars.onComplete===s._targets[0]||Zl(i,s,s._start-s._delay),s=n;return Zl(mo,i,0),i},context:function(e,t){return e?new kd(e,t):po},matchMedia:function(e){return new Nd(e)},matchMediaRefresh:function(){return yd.forEach((function(e){var t,s,n=e.conditions;for(s in n)n[s]&&(n[s]=!1,t=1);t&&e.revert()}))||Sd()},addEventListener:function(e,t){var s=xd[e]||(xd[e]=[]);~s.indexOf(t)||s.push(t)},removeEventListener:function(e,t){var s=xd[e],n=s&&s.indexOf(t);n>=0&&s.splice(n,1)},utils:{wrap:function e(t,s,n){var i=s-t;return Uo(t)?mc(t,e(0,t.length),s):tc(n,(function(e){return(i+(e-t)%i)%i+t}))},wrapYoyo:function e(t,s,n){var i=s-t,r=2*i;return Uo(t)?mc(t,e(0,t.length-1),s):tc(n,(function(e){return t+((e=(r+(e-t)%r)%r||0)>i?r-e:e)}))},distribute:dc,random:pc,snap:hc,normalize:function(e,t,s){return gc(e,t,0,1,s)},getUnit:nc,clamp:function(e,t,s){return tc(s,(function(s){return sc(e,t,s)}))},splitColor:Nc,toArray:oc,selector:lc,mapRange:gc,pipe:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return function(e){return t.reduce((function(e,t){return t(e)}),e)}},unitize:function(e,t){return function(s){return e(parseFloat(s))+(t||nc(s))}},interpolate:function e(t,s,n,i){var r=isNaN(t+s)?0:function(e){return(1-e)*t+e*s};if(!r){var a,o,l,c,d,u=Io(t),h={};if(!0===n&&(i=1)&&(n=null),u)t={p:t},s={p:s};else if(Uo(t)&&!Uo(s)){for(l=[],c=t.length,d=c-2,o=1;o<c;o++)l.push(e(t[o-1],t[o]));c--,r=function(e){e*=c;var t=Math.min(d,~~e);return l[t](e-t)},n=s}else i||(t=Cl(Uo(t)?[]:{},t));if(!l){for(a in s)Yc.call(h,t,a,"get",s[a]);r=function(e){return ud(e,h)||(u?t.p:t)}}}return tc(n,r)},shuffle:cc},install:Jo,effects:ul,ticker:Ec,updateRoot:Zc.updateRoot,plugins:dl,globalTimeline:mo,core:{PropTween:gd,globals:sl,Tween:sd,Timeline:Zc,Animation:Hc,getCache:gl,_removeLinkedListItem:Dl,reverting:function(){return ho},context:function(e){return e&&po&&(po.data.push(e),e._ctx=po),po},suppressOverwrites:function(e){return uo=e}}};xl("to,from,fromTo,delayedCall,set,killTweensOf",(function(e){return Ad[e]=sd[e]})),Ec.add(Zc.updateRoot),jo=Ad.to({},{duration:0});var _d=function(e,t){for(var s=e._pt;s&&s.p!==t&&s.op!==t&&s.fp!==t;)s=s._next;return s},Md=function(e,t){return{name:e,headless:1,rawVars:1,init:function(e,s,n){n._onInit=function(e){var n,i;if(Io(s)&&(n={},xl(s,(function(e){return n[e]=1})),s=n),t){for(i in n={},s)n[i]=t(s[i]);s=n}!function(e,t){var s,n,i,r=e._targets;for(s in t)for(n=r.length;n--;)(i=e._ptLookup[n][s])&&(i=i.d)&&(i._pt&&(i=_d(i,s)),i&&i.modifier&&i.modifier(t[s],e,r[
vendor: 15,153 bytes, line 2
2n],s))}(e,s)}}}},Cd=Ad.registerPlugin({name:"attr",init:function(e,t,s,n,i){var r,a,o;for(r in this.tween=s,t)o=e.getAttribute(r)||"",(a=this.add(e,"setAttribute",(o||0)+"",t[r],n,i,0,0,r)).op=r,a.b=o,this._props.push(r)},render:function(e,t){for(var s=t._pt;s;)ho?s.set(s.t,s.p,s.b,s):s.r(e,s.d),s=s._next}},{name:"endArray",headless:1,init:function(e,t){for(var s=t.length;s--;)this.add(e,s,e[s]||0,t[s],0,0,0,0,0,1)}},Md("roundProps",uc),Md("modifiers"),Md("snap",hc))||Ad;sd.version=Zc.version=Cd.version="3.15.0",xo=1,Lo()&&Ic();Pc.Power0,Pc.Power1,Pc.Power2,Pc.Power3,Pc.Power4,Pc.Linear,Pc.Quad,Pc.Cubic,Pc.Quart,Pc.Quint,Pc.Strong,Pc.Elastic,Pc.Back,Pc.SteppedEase,Pc.Bounce,Pc.Sine,Pc.Expo,Pc.Circ;var Td,Ed,Id,Pd,Dd,Fd,Od,Rd,Ld={},qd=180/Math.PI,zd=Math.PI/180,Ud=Math.atan2,Bd=/([A-Z])/g,Wd=/(left|right|width|margin|padding|x)/i,Hd=/[\s,\(]\S/,Zd={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},$d=function(e,t){return t.set(t.t,t.p,Math.round(1e4*(t.s+t.c*e))/1e4+t.u,t)},Gd=function(e,t){return t.set(t.t,t.p,1===e?t.e:Math.round(1e4*(t.s+t.c*e))/1e4+t.u,t)},Vd=function(e,t){return t.set(t.t,t.p,e?Math.round(1e4*(t.s+t.c*e))/1e4+t.u:t.b,t)},Yd=function(e,t){return t.set(t.t,t.p,1===e?t.e:e?Math.round(1e4*(t.s+t.c*e))/1e4+t.u:t.b,t)},Kd=function(e,t){var s=t.s+t.c*e;t.set(t.t,t.p,~~(s+(s<0?-.5:.5))+t.u,t)},Qd=function(e,t){return t.set(t.t,t.p,e?t.e:t.b,t)},Xd=function(e,t){return t.set(t.t,t.p,1!==e?t.b:t.e,t)},Jd=function(e,t,s){return e.style[t]=s},eu=function(e,t,s){return e.style.setProperty(t,s)},tu=function(e,t,s){return e._gsap[t]=s},su=function(e,t,s){return e._gsap.scaleX=e._gsap.scaleY=s},nu=function(e,t,s,n,i){var r=e._gsap;r.scaleX=r.scaleY=s,r.renderTransform(i,r)},iu=function(e,t,s,n,i){var r=e._gsap;r[t]=s,r.renderTransform(i,r)},ru="transform",au=ru+"Origin",ou=function e(t,s){var n=this,i=this.target,r=i.style,a=i._gsap;if(t in Ld&&r){if(this.tfm=this.tfm||{},"transform"===t)return Zd.transform.split(",").forEach((function(t){return e.call(n,t,s)}));if(~(t=Zd[t]||t).indexOf(",")?t.split(",").forEach((function(e){return n.tfm[e]=Nu(i,e)})):this.tfm[t]=a.x?a[t]:Nu(i,t),t===au&&(this.tfm.zOrigin=a.zOrigin),this.props.indexOf(ru)>=0)return;a.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(au,s,"")),t=ru}(r||s)&&this.props.push(t,s,r[t])},lu=function(e){e.translate&&(e.removeProperty("translate"),e.removeProperty("scale"),e.removeProperty("rotate"))},cu=function(){var e,t,s=this.props,n=this.target,i=n.style,r=n._gsap;for(e=0;e<s.length;e+=3)s[e+1]?2===s[e+1]?n[s[e]](s[e+2]):n[s[e]]=s[e+2]:s[e+2]?i[s[e]]=s[e+2]:i.removeProperty("--"===s[e].substr(0,2)?s[e]:s[e].replace(Bd,"-$1").toLowerCase());if(this.tfm){for(t in this.tfm)r[t]=this.tfm[t];r.svg&&(r.renderTransform(),n.setAttribute("data-svg-origin",this.svgo||"")),(e=Od())&&e.isStart||i[ru]||(lu(i),r.zOrigin&&i[au]&&(i[au]+=" "+r.zOrigin+"px",r.zOrigin=0,r.renderTransform()),r.uncache=1)}},du=function(e,t){var s={target:e,props:[],revert:cu,save:ou};return e._gsap||Cd.core.getCache(e),t&&e.style&&e.nodeType&&t.split(",").forEach((function(e){return s.save(e)})),s},uu=function(e,t){var s=Ed.createElementNS?Ed.createElementNS((t||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),e):Ed.createElement(e);return s&&s.style?s:Ed.createElement(e)},hu=function e(t,s,n){var i=getComputedStyle(t);return i[s]||i.getPropertyValue(s.replace(Bd,"-$1").toLowerCase())||i.getPropertyValue(s)||!n&&e(t,mu(s)||s,1)||""},pu="O,Moz,ms,Ms,Webkit".split(","),mu=function(e,t,s){var n=(t||Dd).style,i=5;if(e in n&&!s)return e;for(e=e.charAt(0).toUpperCase()+e.substr(1);i--&&!(pu[i]+e in n););return i<0?null:(3===i?"ms":i>=0?pu[i]:"")+e},fu=function(){"undefined"!==typeof window&&window.document&&(Td=window,Ed=Td.document,Id=Ed.documentElement,Dd=uu("div")||{style:{}},uu("div"),ru=mu(ru),au=ru+"Origin",Dd.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Rd=!!mu("perspective"),Od=Cd.core.reverting,Pd=1)},gu=function(e){var t,s=e.ownerSVGElement,n=uu("svg",s&&s.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=e.cloneNode(!0);i.style.display="block",n.appendChild(i),Id.appendChild(n);try{t=i.getBBox()}catch(It){}return n.removeChild(i),Id.removeChild(n),t},yu=function(e,t){for(var s=t.length;s--;)if(e.hasAttribute(t[s]))return e.getAttribute(t[s])},xu=function(e){var t,s;try{t=e.getBBox()}catch(n){t=gu(e),s=1}return t&&(t.width||t.height)||s||(t=gu(e)),!t||t.width||t.x||t.y?t:{x:+yu(e,["x","cx","x1"])||0,y:+yu(e,["y","cy","y1"])||0,width:0,height:0}},vu=function(e){return!(!e.getCTM||e.parentNode&&!e.ownerSVGElement||!xu(e))},ju=function(e,t){if(t){var s,n=e.style;t in Ld&&t!==au&&(t=ru),n.removeProperty?("ms"!==(s=t.substr(0,2))&&"webkit"!==t.substr(0,6)||(t="-"+t),n.removeProperty("--"===s?t:t.replace(Bd,"-$1").toLowerCase())):n.removeAttribute(t)}},wu=function(e,t,s,n,i,r){var a=new gd(e._pt,t,s,0,1,r?Xd:Qd);return e._pt=a,a.b=n,a.e=i,e._props.push(s),a},bu={deg:1,rad:1,turn:1},Su={grid:1,flex:1},ku=function e(t,s,n,i){var r,a,o,l,c=parseFloat(n)||0,d=(n+"").trim().substr((c+"").length)||"px",u=Dd.style,h=Wd.test(s),p="svg"===t.tagName.toLowerCase(),m=(p?"client":"offset")+(h?"Width":"Height"),f=100,g="px"===i,y="%"===i;if(i===d||!c||bu[i]||bu[d])return c;if("px"!==d&&!g&&(c=e(t,s,n,"px")),l=t.getCTM&&vu(t),(y||"%"===d)&&(Ld[s]||~s.indexOf("adius")))return r=l?t.getBBox()[h?"width":"height"]:t[m],vl(y?c/r*f:c/100*r);if(u[h?"width":"height"]=f+(g?d:i),a="rem"!==i&&~s.indexOf("adius")||"em"===i&&t.appendChild&&!p?t:t.parentNode,l&&(a=(t.ownerSVGElement||{}).parentNode),a&&a!==Ed&&a.appendChild||(a=Ed.body),(o=a._gsap)&&y&&o.width&&h&&o.time===Ec.time&&!o.uncache)return vl(c/o.width*f);if(!y||"height"!==s&&"width"!==s)(y||"%"===d)&&!Su[hu(a,"display")]&&(u.position=hu(t,"position")),a===t&&(u.position="static"),a.appendChild(Dd),r=Dd[m],a.removeChild(Dd),u.position="absolute";else{var x=t.style[s];t.style[s]=f+i,r=t[m],x?t.style[s]=x:ju(t,s)}return h&&y&&((o=gl(a)).time=Ec.time,o.width=a[m]),vl(g?r*c/f:r&&c?f/r*c:0)},Nu=function(e,t,s,n){var i;return Pd||fu(),t in Zd&&"transform"!==t&&~(t=Zd[t]).indexOf(",")&&(t=t.split(",")[0]),Ld[t]&&"transform"!==t?(i=Ru(e,n),i="transformOrigin"!==t?i[t]:i.svg?i.origin:Lu(hu(e,au))+" "+i.zOrigin+"px"):(!(i=e.style[t])||"auto"===i||n||~(i+"").indexOf("calc("))&&(i=Tu[t]&&Tu[t](e,t,s)||hu(e,t)||yl(e,t)||("opacity"===t?1:0)),s&&!~(i+"").trim().indexOf(" ")?ku(e,t,i,s)+s:i},Au=function(e,t,s,n){if(!s||"none"===s){var i=mu(t,e,1),r=i&&hu(e,i,1);r&&r!==s?(t=i,s=r):"borderColor"===t&&(s=hu(e,"borderTopColor"))}var a,o,l,c,d,u,h,p,m,f,g,y=new gd(this._pt,e.style,t,0,1,dd),x=0,v=0;if(y.b=s,y.e=n,s+="","var(--"===(n+="").substring(0,6)&&(n=hu(e,n.substring(4,n.indexOf(")")))),"auto"===n&&(u=e.style[t],e.style[t]=n,n=hu(e,t)||n,u?e.style[t]=u:ju(e,t)),Tc(a=[s,n]),n=a[1],l=(s=a[0]).match($o)||[],(n.match($o)||[]).length){for(;o=$o.exec(n);)h=o[0],m=n.substring(x,o.index),d?d=(d+1)%5:"rgba("!==m.substr(-5)&&"hsla("!==m.substr(-5)||(d=1),h!==(u=l[v++]||"")&&(c=parseFloat(u)||0,g=u.substr((c+"").length),"="===h.charAt(1)&&(h=wl(c,h)+g),p=parseFloat(h),f=h.substr((p+"").length),x=$o.lastIndex-f.length,f||(f=f||bo.units[t]||g,x===n.length&&(n+=f,y.e+=f)),g!==f&&(c=ku(e,t,u,f)||0),y._pt={_next:y._pt,p:m||1===v?m:",",s:c,c:p-c,m:d&&d<4||"zIndex"===t?Math.round:0});y.c=x<n.length?n.substring(x,n.length):""}else y.r="display"===t&&"none"===n?Xd:Qd;return Vo.test(n)&&(y.e=0),this._pt=y,y},_u={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},Mu=function(e){var t=e.split(" "),s=t[0],n=t[1]||"50%";return"top"!==s&&"bottom"!==s&&"left"!==n&&"right"!==n||(e=s,s=n,n=e),t[0]=_u[s]||s,t[1]=_u[n]||n,t.join(" ")},Cu=function(e,t){if(t.tween&&t.tween._time===t.tween._dur){var s,n,i,r=t.t,a=r.style,o=t.u,l=r._gsap;if("all"===o||!0===o)a.cssText="",n=1;else for(i=(o=o.split(",")).length;--i>-1;)s=o[i],Ld[s]&&(n=1,s="transformOrigin"===s?au:ru),ju(r,s);n&&(ju(r,ru),l&&(l.svg&&r.removeAttribute("transform"),a.scale=a.rotate=a.translate="none",Ru(r,1),l.uncache=1,lu(a)))}},Tu={clearProps:function(e,t,s,n,i){if("isFromStart"!==i.data){var r=e._pt=new gd(e._pt,t,s,0,0,Cu);return r.u=n,r.pr=-10,r.tween=i,e._props.push(s),1}}},Eu=[1,0,0,1,0,0],Iu={},Pu=function(e){return"matrix(1, 0, 0, 1, 0, 0)"===e||"none"===e||!e},Du=function(e){var t=hu(e,ru);return Pu(t)?Eu:t.substr(7).match(Zo).map(vl)},Fu=function(e,t){var s,n,i,r,a=e._gsap||gl(e),o=e.style,l=Du(e);return a.svg&&e.getAttribute("transform")?"1,0,0,1,0,0"===(l=[(i=e.transform.baseVal.consolidate().matrix).a,i.b,i.c,i.d,i.e,i.f]).join(",")?Eu:l:(l!==Eu||e.offsetParent||e===Id||a.svg||(i=o.display,o.display="block",(s=e.parentNode)&&(e.offsetParent||e.getBoundingClientRect().width)||(r=1,n=e.nextElementSibling,Id.appendChild(e)),l=Du(e),i?o.display=i:ju(e,"display"),r&&(n?s.insertBefore(e,n):s?s.appendChild(e):Id.removeChild(e))),t&&l.length>6?[l[0],l[1],l[4],l[5],l[12],l[13]]:l)},Ou=function(e,t,s,n,i,r){var a,o,l,c=e._gsap,d=i||Fu(e,!0),u=c.xOrigin||0,h=c.yOrigin||0,p=c.xOffset||0,m=c.yOffset||0,f=d[0],g=d[1],y=d[2],x=d[3],v=d[4],j=d[5],w=t.split(" "),b=parseFloat(w[0])||0,S=parseFloat(w[1])||0;s?d!==Eu&&(o=f*x-g*y)&&(l=b*(-g/o)+S*(f/o)-(f*j-g*v)/o,b=b*(x/o)+S*(-y/o)+(y*j-x*v)/o,S=l):(b=(a=xu(e)).x+(~w[0].indexOf("%")?b/100*a.width:b),S=a.y+(~(w[1]||w[0]).indexOf("%")?S/100*a.height:S)),n||!1!==n&&c.smooth?(v=b-u,j=S-h,c.xOffset=p+(v*f+j*y)-v,c.yOffset=m+(v*g+j*x)-j):c.xOffset=c.yOffset=0,c.xOrigin=b,c.yOrigin=S,c.smooth=!!n,c.origin=t,c.originIsAbsolute=!!s,e.style[au]="0px 0px",r&&(wu(r,c,"xOrigin",u,b),wu(r,c,"yOrigin",h,S),wu(r,c,"xOffset",p,c.xOffset),wu(r,c,"yOffset",m,c.yOffset)),e.setAttribute("data-svg-origin",b+" "+S)},Ru=function(e,t){var s=e._gsap||new Wc(e);if("x"in s&&!t&&!s.uncache)return s;var n,i,r,a,o,l,c,d,u,h,p,m,f,g,y,x,v,j,w,b,S,k,N,A,_,M,C,T,E,I,P,D,F=e.style,O=s.scaleX<0,R="px",L="deg",q=getComputedStyle(e),z=hu(e,au)||"0";return n=i=r=l=c=d=u=h=p=0,a=o=1,s.svg=!(!e.getCTM||!vu(e)),q.translate&&("none"===q.translate&&"none"===q.scale&&"none"===q.rotate||(F[ru]=("none"!==q.translate?"translate3d("+(q.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+("none"!==q.rotate?"rotate("+q.rotate+") ":"")+("none"!==q.scale?"scale("+q.scale.split(" ").join(",")+") ":"")+("none"!==q[ru]?q[ru]:"")),F.scale=F.rotate=F.translate="none"),g=Fu(e,s.svg),s.svg&&(s.uncache?(_=e.getBBox(),z=s.xOrigin-_.x+"px "+(s.yOrigin-_.y)+"px",A=""):A=!t&&e.getAttribute("data-svg-origin"),Ou(e,A||z,!!A||s.originIsAbsolute,!1!==s.smooth,g)),m=s.xOrigin||0,f=s.yOrigin||0,g!==Eu&&(j=g[0],w=g[1],b=g[2],S=g[3],n=k=g[4],i=N=g[5],6===g.length?(a=Math.sqrt(j*j+w*w),o=Math.sqrt(S*S+b*b),l=j||w?Ud(w,j)*qd:0,(u=b||S?Ud(b,S)*qd+l:0)&&(o*=Math.abs(Math.cos(u*zd))),s.svg&&(n-=m-(m*j+f*b),i-=f-(m*w+f*S))):(D=g[6],I=g[7],C=g[8],T=g[9],E=g[10],P=g[11],n=g[12],i=g[13],r=g[14],c=(y=Ud(D,E))*qd,y&&(A=k*(x=Math.cos(-y))+C*(v=Math.sin(-y)),_=N*x+T*v,M=D*x+E*v,C=k*-v+C*x,T=N*-v+T*x,E=D*-v+E*x,P=I*-v+P*x,k=A,N=_,D=M),d=(y=Ud(-b,E))*qd,y&&(x=Math.cos(-y),P=S*(v=Math.sin(-y))+P*x,j=A=j*x-C*v,w=_=w*x-T*v,b=M=b*x-E*v),l=(y=Ud(w,j))*qd,y&&(A=j*(x=Math.cos(y))+w*(v=Math.sin(y)),_=k*x+N*v,w=w*x-j*v,N=N*x-k*v,j=A,k=_),c&&Math.abs(c)+Math.abs(l)>359.9&&(c=l=0,d=180-d),a=vl(Math.sqrt(j*j+w*w+b*b)),o=vl(Math.sqrt(N*N+D*D)),y=Ud(k,N),u=Math.abs(y)>2e-4?y*qd:0,p=P?1/(P<0?-P:P):0),s.svg&&(A=e.getAttribute("transform"),s.forceCSS=e.setAttribute("transform","")||!Pu(hu(e,ru)),A&&e.setAttribute("transform",A))),Math.abs(u)>90&&Math.abs(u)<270&&(O?(a*=-1,u+=l<=0?180:-180,l+=l<=0?180:-180):(o*=-1,u+=u<=0?180:-180)),t=t||s.uncache,s.x=n-((s.xPercent=n&&(!t&&s.xPercent||(Math.round(e.offsetWidth/2)===Math.round(-n)?-50:0)))?e.offsetWidth*s.xPercent/100:0)+R,s.y=i-((s.yPercent=i&&(!t&&s.yPercent||(Math.round(e.offsetHeight/2)===Math.round(-i)?-50:0)))?e.offsetHeight*s.yPercent/100:0)+R,s.z=r+R,s.scaleX=vl(a),s.scaleY=vl(o),s.rotation=vl(l)+L,s.rotationX=vl(c)+L,s.rotationY=vl(d)+L,s.skewX=u+L,s.skewY=h+L,s.transformPerspective=p+R,(s.zOrigin=parseFloat(z.split(" ")[2])||!t&&s.zOrigin||0)&&(F[au]=Lu(z)),s.xOffset=s.yOffset=0,s.force3D=bo.force3D,s.renderTransform=s.svg?Zu:Rd?Hu:zu,s.uncache=0,s},Lu=function(e){return(e=e.split(" "))[0]+" "+e[1]},qu=function(e,t,s){var n=nc(t);return vl(parseFloat(t)+parseFloat(ku(e,"x",s+"px",n)))+n},zu=function(e,t){t.z="0px",t.rotationY=t.rotationX="0deg",t.force3D=0,Hu(e,t)},Uu="0deg",Bu="0px",Wu=") ",Hu=function(e,t){var s=t||this,n=s.xPercent,i=s.yPercent,r=s.x,a=s.y,o=s.z,l=s.rotation,c=s.rotationY,d=s.rotationX,u=s.skewX,h=s.skewY,p=s.scaleX,m=s.scaleY,f=s.transformPerspective,g=s.force3D,y=s.target,x=s.zOrigin,v="",j="auto"===g&&e&&1!==e||!0===g;if(x&&(d!==Uu||c!==Uu)){var w,b=parseFloat(c)*zd,S=Math.sin(b),k=Math.cos(b);b=parseFloat(d)*zd,w=Math.cos(b),r=qu(y,r,S*w*-x),a=qu(y,a,-Math.sin(b)*-x),o=qu(y,o,k*w*-x+x)}f!==Bu&&(v+="perspective("+f+Wu),(n||i)&&(v+="translate("+n+"%, "+i+"%) "),(j||r!==Bu||a!==Bu||o!==Bu)&&(v+=o!==Bu||j?"translate3d("+r+", "+a+", "+o+") ":"translate("+r+", "+a+Wu),l!==Uu&&(v+="rotate("+l+Wu),c!==Uu&&(v+="rotateY("+c+Wu),d!==Uu&&(v+="rotateX("+d+Wu),u===Uu&&h===Uu||(v+="skew("+u+", "+h+Wu),1===p&&1===m||(v+="scale("+p+", "+m+Wu),y.style[ru]=v||"translate(0, 0)"},Zu=function(e,t){var s,n,i,r,a,o=t||this,l=o.xPercent,c=o.yPercent,d=o.x,u=o.y,h=o.rotation,p=o.skewX,m=o.skewY,f=o.scaleX,g=o.scaleY,y=o.target,x=o.xOrigin,v=o.yOrigin,j=o.xOffset,w=o.yOffset,b=o.forceCSS,S=parseFloat(d),k=parseFloat(u);h=parseFloat(h),p=parseFloat(p),(m=parseFloat(m))&&(p+=m=parseFloat(m),h+=m),h||p?(h*=zd,p*=zd,s=Math.cos(h)*f,n=Math.sin(h)*f,i=Math.sin(h-p)*-g,r=Math.cos(h-p)*g,p&&(m*=zd,a=Math.tan(p-m),i*=a=Math.sqrt(1+a*a),r*=a,m&&(a=Math.tan(m),s*=a=Math.sqrt(1+a*a),n*=a)),s=vl(s),n=vl(n),i=vl(i),r=vl(r)):(s=f,r=g,n=i=0),(S&&!~(d+"").indexOf("px")||k&&!~(u+"").indexOf("px"))&&(S=ku(y,"x",d,"px"),k=ku(y,"y",u,"px")),(x||v||j||w)&&(S=vl(S+x-(x*s+v*i)+j),k=vl(k+v-(x*n+v*r)+w)),(l||c)&&(a=y.getBBox(),S=vl(S+l/100*a.width),k=vl(k+c/100*a.height)),a="matrix("+s+","+n+","+i+","+r+","+S+","+k+")",y.setAttribute("transform",a),b&&(y.style[ru]=a)},$u=function(e,t,s,n,i){var r,a,o=360,l=Io(i),c=parseFloat(i)*(l&&~i.indexOf("rad")?qd:1)-n,d=n+c+"deg";return l&&("short"===(r=i.split("_")[1])&&(c%=o)!==c%180&&(c+=c<0?o:-360),"cw"===r&&c<0?c=(c+36e9)%o-~~(c/o)*o:"ccw"===r&&c>0&&(c=(c-36e9)%o-~~(c/o)*o)),e._pt=a=new gd(e._pt,t,s,n,c,Gd),a.e=d,a.u="deg",e._props.push(s),a},Gu=function(e,t){for(var s in t)e[s]=t[s];return e},Vu=function(e,t,s){var n,i,r,a,o,l,c,d=Gu({},s._gsap),u=s.style;for(i in d.svg?(r=s.getAttribute("transform"),s.setAttribute("transform",""),u[ru]=t,n=Ru(s,1),ju(s,ru),s.setAttribute("transform",r)):(r=getComputedStyle(s)[ru],u[ru]=t,n=Ru(s,1),u[ru]=r),Ld)(r=d[i])!==(a=n[i])&&"perspective,force3D,transformOrigin,svgOrigin".indexOf(i)<0&&(o=nc(r)!==(c=nc(a))?ku(s,i,r,c):parseFloat(r),l=parseFloat(a),e._pt=new gd(e._pt,n,i,o,l-o,$d),e._pt.u=c||0,e._props.push(i));Gu(n,d)};xl("padding,margin,Width,Radius",(function(e,t){var s="Top",n="Right",i="Bottom",r="Left",a=(t<3?[s,n,i,r]:[s+r,s+n,i+n,i+r]).map((function(s){return t<2?e+s:"border"+s+e}));Tu[t>1?"border"+e:e]=function(e,t,s,n,i){var r,o;
2if(arguments.length<4)return r=a.map((function(t){return Nu(e,t,s)})),5===(o=r.join(" ")).split(r[0]).length?r[0]:o;r=(n+"").split(" "),o={},a.forEach((function(e,t){return o[e]=r[t]=r[t]||r[(t-1)/2|0]})),e.init(t,o,i)}}));var Yu={name:"css",register:fu,targetTest:function(e){return e.style&&e.nodeType},init:function(e,t,s,n,i){var r,a,o,l,c,d,u,h,p,m,f,g,y,x,v,j,w,b=this._props,S=e.style,k=s.vars.startAt;for(u in Pd||fu(),this.styles=this.styles||du(e),j=this.styles.props,this.tween=s,t)if("autoRound"!==u&&(a=t[u],!dl[u]||!Kc(u,t,s,n,e,i)))if(c=typeof a,d=Tu[u],"function"===c&&(c=typeof(a=a.call(s,n,e,i))),"string"===c&&~a.indexOf("random(")&&(a=fc(a)),d)d(this,e,u,a,s)&&(v=1);else if("--"===u.substr(0,2))r=(getComputedStyle(e).getPropertyValue(u)+"").trim(),a+="",Mc.lastIndex=0,Mc.test(r)||(h=nc(r),(p=nc(a))?h!==p&&(r=ku(e,u,r,p)+p):h&&(a+=h)),this.add(S,"setProperty",r,a,n,i,0,0,u),b.push(u),j.push(u,0,S[u]);else if("undefined"!==c){if(k&&u in k?(r="function"===typeof k[u]?k[u].call(s,n,e,i):k[u],Io(r)&&~r.indexOf("random(")&&(r=fc(r)),nc(r+"")||"auto"===r||(r+=bo.units[u]||nc(Nu(e,u))||""),"="===(r+"").charAt(1)&&(r=Nu(e,u))):r=Nu(e,u),l=parseFloat(r),(m="string"===c&&"="===a.charAt(1)&&a.substr(0,2))&&(a=a.substr(2)),o=parseFloat(a),u in Zd&&("autoAlpha"===u&&(1===l&&"hidden"===Nu(e,"visibility")&&o&&(l=0),j.push("visibility",0,S.visibility),wu(this,S,"visibility",l?"inherit":"hidden",o?"inherit":"hidden",!o)),"scale"!==u&&"transform"!==u&&~(u=Zd[u]).indexOf(",")&&(u=u.split(",")[0])),f=u in Ld){if(this.styles.save(u),w=a,"string"===c&&"var(--"===a.substring(0,6)){if("calc("===(a=hu(e,a.substring(4,a.indexOf(")")))).substring(0,5)){var N=e.style.perspective;e.style.perspective=a,a=hu(e,"perspective"),N?e.style.perspective=N:ju(e,"perspective")}o=parseFloat(a)}if(g||((y=e._gsap).renderTransform&&!t.parseTransform||Ru(e,t.parseTransform),x=!1!==t.smoothOrigin&&y.smooth,(g=this._pt=new gd(this._pt,S,ru,0,1,y.renderTransform,y,0,-1)).dep=1),"scale"===u)this._pt=new gd(this._pt,y,"scaleY",y.scaleY,(m?wl(y.scaleY,m+o):o)-y.scaleY||0,$d),this._pt.u=0,b.push("scaleY",u),u+="X";else{if("transformOrigin"===u){j.push(au,0,S[au]),a=Mu(a),y.svg?Ou(e,a,0,x,0,this):((p=parseFloat(a.split(" ")[2])||0)!==y.zOrigin&&wu(this,y,"zOrigin",y.zOrigin,p),wu(this,S,u,Lu(r),Lu(a)));continue}if("svgOrigin"===u){Ou(e,a,1,x,0,this);continue}if(u in Iu){$u(this,y,u,l,m?wl(l,m+a):a);continue}if("smoothOrigin"===u){wu(this,y,"smooth",y.smooth,a);continue}if("force3D"===u){y[u]=a;continue}if("transform"===u){Vu(this,a,e);continue}}}else u in S||(u=mu(u)||u);if(f||(o||0===o)&&(l||0===l)&&!Hd.test(a)&&u in S)o||(o=0),(h=(r+"").substr((l+"").length))!==(p=nc(a)||(u in bo.units?bo.units[u]:h))&&(l=ku(e,u,r,p)),this._pt=new gd(this._pt,f?y:S,u,l,(m?wl(l,m+o):o)-l,f||"px"!==p&&"zIndex"!==u||!1===t.autoRound?$d:Kd),this._pt.u=p||0,f&&w!==a?(this._pt.b=r,this._pt.e=w,this._pt.r=Yd):h!==p&&"%"!==p&&(this._pt.b=r,this._pt.r=Vd);else if(u in S)Au.call(this,e,u,r,m?m+a:a);else if(u in e)this.add(e,u,r||e[u],m?m+a:a,n,i);else if("parseTransform"!==u){el(u,a);continue}f||(u in S?j.push(u,0,S[u]):"function"===typeof e[u]?j.push(u,2,e[u]()):j.push(u,1,r||e[u])),b.push(u)}v&&fd(this)},render:function(e,t){if(t.tween._time||!Od())for(var s=t._pt;s;)s.r(e,s.d),s=s._next;else t.styles.revert()},get:Nu,aliases:Zd,getSetter:function(e,t,s){var n=Zd[t];return n&&n.indexOf(",")<0&&(t=n),t in Ld&&t!==au&&(e._gsap.x||Nu(e,"x"))?s&&Fd===s?"scale"===t?su:tu:(Fd=s||{})&&("scale"===t?nu:iu):e.style&&!Fo(e.style[t])?Jd:~t.indexOf("-")?eu:od(e,t)},core:{_removeProperty:ju,_getMatrix:Fu}};Cd.utils.checkPrefix=mu,Cd.core.getStyleSaver=du,function(e,t){var s=xl(e+","+t+",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective",(function(e){Ld[e]=1}));xl(t,(function(e){bo.units[e]="deg",Iu[e]=1})),Zd[s[13]]=e+","+t,xl("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY",(function(e){var t=e.split(":");Zd[t[1]]=s[t[0]]}))}("x,y,z,scale,scaleX,scaleY,xPercent,yPercent","rotation,rotationX,rotationY,skewX,skewY"),xl("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",(function(e){bo.units[e]="px"})),Cd.registerPlugin(Yu);var Ku=Cd.registerPlugin(Yu)||Cd;Ku.core.Tween;const Qu=12,Xu=300,Ju="82, 40, 245",eh=()=>(0,jt.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",children:(0,jt.jsx)("path",{d:"M2 6l3 3 5-5",stroke:"#a78bfa",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})}),th=()=>(0,jt.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M13 2L3 
214h9l-1 8 10-12h-9l1-8z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),sh=()=>(0,jt.jsxs)("svg",{width:"42",height:"42",viewBox:"0 0 24 24",fill:"none",children:[(0,jt.jsx)("path",{d:"M12 2l7 3v5c0 5-3.5 9.3-7 11-3.5-1.7-7-6-7-11V5l7-3z",stroke:"#5228F5",strokeWidth:"1.5",fill:"rgba(82,40,245,0.12)"}),(0,jt.jsx)("path",{d:"M9 12l2 2 4-4",stroke:"#a78bfa",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]}),nh=()=>(0,jt.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[(0,jt.jsx)("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2",stroke:"currentColor",strokeWidth:"2"}),(0,jt.jsx)("circle",{cx:"12",cy:"18",r:"1",fill:"currentColor"})]}),ih=()=>(0,jt.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",children:[(0,jt.jsx)("rect",{x:"3",y:"4",width:"18",height:"18",rx:"2",stroke:"currentColor",strokeWidth:"2"}),(0,jt.jsx)("path",{d:"M3 9h18M8 2v4M16 2v4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}),rh=[{label:"Speed",title:"Instant Delivery",description:"Messages reach customers in seconds, not minutes",Visual:()=>(0,jt.jsxs)("div",{className:"mb-visual mb-sms-thread",children:[(0,jt.jsxs)("div",{className:"mb-bubble mb-bubble--out",children:[(0,jt.jsx)("span",{children:"Your appointment is confirmed for 3pm"}),(0,jt.jsxs)("span",{className:"mb-bubble-time",children:["09:41 ",(0,jt.jsx)(eh,{})]})]}),(0,jt.jsxs)("div",{className:"mb-bubble mb-bubble--in",children:[(0,jt.jsx)("span",{children:"Thanks, see you then!"}),(0,jt.jsx)("span",{className:"mb-bubble-time",children:"09:41"})]}),(0,jt.jsxs)("div",{className:"mb-bubble mb-bubble--out mb-bubble--latest",children:[(0,jt.jsx)("span",{children:"Reminder: your appt is in 1 hour"}),(0,jt.jsxs)("span",{className:"mb-bubble-time",children:["14:00 ",(0,jt.jsx)(eh,{})]})]}),(0,jt.jsxs)("div",{className:"mb-delivery-badge",children:[(0,jt.jsx)(eh,{})," Delivered in <1s"]})]})},{label:"Analytics",title:"Rich Analytics",description:"Track delivery, opens and engagement in real-time",Visual:()=>(0,jt.jsxs)("div",{className:"mb-visual mb-stats",children:[(0,jt.jsxs)("div",{className:"mb-stat-row",children:[(0,jt.jsxs)("div",{className:"mb-stat-big",children:[(0,jt.jsxs)("span",{className:"mb-stat-num",children:["99.9",(0,jt.jsx)("span",{className:"mb-stat-unit",children:"%"})]}),(0,jt.jsx)("span",{className:"mb-stat-label",children:"Delivery rate"})]}),(0,jt.jsx)("div",{className:"mb-stat-divider"}),(0,jt.jsxs)("div",{className:"mb-stat-big",children:[(0,jt.jsxs)("span",{className:"mb-stat-num",children:["<1",(0,jt.jsx)("span",{className:"mb-stat-unit",children:"s"})]}),(0,jt.jsx)("span",{className:"mb-stat-label",children:"Avg latency"})]})]}),(0,jt.jsx)("div",{className:"mb-sparkline",children:(0,jt.jsxs)("svg",{viewBox:"0 0 120 36",fill:"none",preserveAspectRatio:"none",children:[(0,jt.jsx)("defs",{children:(0,jt.jsxs)("linearGradient",{id:"sg",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,jt.jsx)("stop",{offset:"0%",stopColor:"#5228F5",stopOpacity:"0.4"}),(0,jt.jsx)("stop",{offset:"100%",stopColor:"#5228F5",stopOpacity:"0"})]})}),(0,jt.jsx)("path",{d:"M0 28 C10 26,20 20,30 22 C40 24,50 10,60 8 C70 6,80 14,90 12 C100 10,110 6,120 4",stroke:"#7c3aed",strokeWidth:"2",fill:"none"}),(0,jt.jsx)("path",{d:"M0 28 C10 26,20 20,30 22 C40 24,50 10,60 8 C70 6,80 14,90 12 C100 10,110 6,120 4 L120 36 L0 36Z",fill:"url(#sg)"})]})})]})},{label:"Integrations",title:"6,000+ Integrations",description:"Connect with Zapier, Power Automate, Supabase and more",Visual:()=>(0,jt.jsxs)("div",{className:"mb-visual mb-integrations",children:[[{src:"https://cdn.simpleicons.org/zapier/ffffff",name:"Zapier",mono:!0},{src:"/logos/icons/power-automate.png",name:"Power Automate",mono:!1},{src:"https://cdn.simpleicons.org/supabase/ffffff",name:"Supabase",mono:!0},{src:"https://cdn.simpleicons.org/auth0/ffffff",name:"Auth0",mono:!0},{src:"/logos/icons/teams.png",name:"Teams",mono:!1},{src:"https://cdn.simpleicons.org/wordpress/ffffff",name:"WordPress",mono:!0}].map(((e,t)=>(0,jt.jsxs)("div",{className:"mb-logo-chip",style:{"--d":.06*t+"s"},children:[(0,jt.jsx)("img",{src:e.src,alt:e.name,width:"16",height:"16",style:e.mono?{filter:"brightness(0) invert(1)",opacity:.8}:{opacity:.95}}),(0,jt.jsx)("span",{children:e.name})]},t))),(0,jt.jsx)("div",{className:"mb-logo-chip mb-logo-chip--more",children:"+5,994 more"})]})},{label:"Automation",title:"Smart Automation",description:"Trigger SMS from any event \u2014 no code required",Visual:()=>(0,jt.jsx)("div",{className:"mb-visual mb-flow",children:[{Icon:ih,label:"Appointment booked",color:"#5228F5"},{Icon:th,label:"Trigger fires",color:"#7c3aed"},{Icon:nh,label:"SMS sent instantly",color:"#a78bfa"}].map(((e,t)=>{let{Icon:s,label:n,color:i}=e;return(0,jt.jsxs)("div",{className:"mb-flow-row",children:[(0,jt.jsxs)("div",{className:"mb-flow-step",style:{"--accent":i},children:[(0,jt.jsx)("span",{className:"mb-flow-icon-wrap",style:{color:i},children:(0,jt.jsx)(s,{})}),(0,jt.jsx)("span",{className:"mb-flow-label",children:n})]}),t<2&&(0,jt.jsx)("div",{className:"mb-flow-arrow",children:"\u2193"})]},t)}))})},{label:"Local",title:"Australian Numbers",description:"Local presence with dedicated Aussie sender IDs",Visual:()=>(0,jt.jsxs)("div",{className:"mb-visual mb-au",children:[(0,jt.jsx)("div",{className:"mb-au-ring",children:(0,jt.jsxs)("svg",{viewBox:"0 0 80 80",width:"80",height:"80",fill:"none",children:[(0,jt.jsx)("circle",{cx:"40",cy:"40",r:"36",stroke:"rgba(82,40,245,
20.2)",strokeWidth:"1.5"}),(0,jt.jsx)("circle",{cx:"40",cy:"40",r:"28",stroke:"rgba(82,40,245,0.12)",strokeWidth:"1"}),(0,jt.jsx)("text",{x:"40",y:"48",textAnchor:"middle",fontSize:"26",fontFamily:"system-ui",children:"\ud83c\udde6\ud83c\uddfa"})]})}),(0,jt.jsx)("div",{className:"mb-au-number",children:"+61 4XX XXX XXX"}),(0,jt.jsx)("div",{className:"mb-au-sub",children:"Dedicated sender ID"})]})},{label:"Security",title:"Enterprise Security",description:"End-to-end encryption and full compliance built in",Visual:()=>(0,jt.jsxs)("div",{className:"mb-visual mb-security",children:[(0,jt.jsx)(sh,{}),(0,jt.jsx)("div",{className:"mb-sec-tags",children:["TLS 1.3","AES-256","ACMA"].map((e=>(0,jt.jsx)("span",{className:"mb-sec-tag",children:e},e)))})]})}],ah=t=>{let{children:s,className:n,style:i,particleCount:r=Qu,glowColor:a=Ju,clickEffect:o,disableAnimations:l}=t;const c=(0,e.useRef)(null),d=(0,e.useRef)([]),u=(0,e.useRef)([]),h=(0,e.useRef)(!1),p=(0,e.useRef)([]),m=(0,e.useRef)(!1),f=(0,e.useCallback)((()=>{if(m.current||!c.current)return;const{width:e,height:t}=c.current.getBoundingClientRect();p.current=Array.from({length:r},(()=>function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ju;const n=document.createElement("div");return n.style.cssText=`position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(${s},1);box-shadow:0 0 6px rgba(${s},0.6);pointer-events:none;z-index:100;left:${e}px;top:${t}px;`,n}(Math.random()*e,Math.random()*t,a))),m.current=!0}),[r,a]),g=(0,e.useCallback)((()=>{u.current.forEach(clearTimeout),u.current=[],d.current.forEach((e=>Ku.to(e,{scale:0,opacity:0,duration:.3,ease:"back.in(1.7)",onComplete:()=>{var t;return null===(t=e.parentNode)||void 0===t?void 0:t.removeChild(e)}}))),d.current=[]}),[]),y=(0,e.useCallback)((()=>{c.current&&h.current&&(m.current||f(),p.current.forEach(((e,t)=>{const s=setTimeout((()=>{if(!h.current||!c.current)return;const t=e.cloneNode(!0);c.current.appendChild(t),d.current.push(t),Ku.fromTo(t,{scale:0,opacity:0},{scale:1,opacity:1,duration:.3,ease:"back.out(1.7)"}),Ku.to(t,{x:100*(Math.random()-.5),y:100*(Math.random()-.5),rotation:360*Math.random(),duration:2+2*Math.random(),ease:"none",repeat:-1,yoyo:!0}),Ku.to(t,{opacity:.3,duration:1.5,ease:"power2.inOut",repeat:-1,yoyo:!0})}),100*t);u.current.push(s)})))}),[f]);return(0,e.useEffect)((()=>{if(l||!c.current)return;const e=c.current,t=()=>{h.current=!0,y()},s=()=>{h.current=!1,g()},n=t=>{if(!o)return;const s=e.getBoundingClientRect(),n=t.clientX-s.left,i=t.clientY-s.top,r=Math.max(Math.hypot(n,i),Math.hypot(n-s.width,i),Math.hypot(n,i-s.height),Math.hypot(n-s.width,i-s.height)),l=document.createElement("div");l.style.cssText=`position:absolute;width:${2*r}px;height:${2*r}px;border-radius:50%;background:radial-gradient(circle,rgba(${a},0.4) 0%,rgba(${a},0.2) 30%,transparent 70%);left:${n-r}px;top:${i-r}px;pointer-events:none;z-index:1000;`,e.appendChild(l),Ku.fromTo(l,{scale:0,opacity:1},{scale:1,opacity:0,duration:.8,ease:"power2.out",onComplete:()=>l.remove()})};return e.addEventListener("mouseenter",t),e.addEventListener("mouseleave",s),e.addEventListener("click",n),()=>{h.current=!1,e.removeEventListener("mouseenter",t),e.removeEventListener("mouseleave",s),e.removeEventListener("click",n),g()}}),[y,g,l,o]),(0,jt.jsx)("div",{ref:c,className:`${n} mb-particle-container`,style:{...i,position:"relative",overflow:"hidden"},children:s})},oh=t=>{let{gridRef:s,disableAnimations:n,enabled:i,spotlightRadius:r=Xu,glowColor:a=Ju}=t;const o=(0,e.useRef)(null);return(0,e.useEffect)((()=>{if(n||null===s||void 0===s||!s.current||!i)return;const e=document.createElement("div");e.style.cssText=`position:fixed;width:800px;height:800px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(${a},0.15) 0%,rgba(${a},0.08) 15%,rgba(${a},0.04) 25%,transparent 70%);z-index:200;opacity:0;transform:translate(-50%,-50%);mix-blend-mode:screen;`,document.body.appendChild(e),o.current=e;const t=t=>{if(!o.current||!s.current)return;const n=s.current.closest(".mb-bento-section"),i=null===n||void 0===n?void 0:n.getBoundingClientRect(),a=i&&t.clientX>=i.left&&t.clientX<=i.right&&t.clientY>
2=i.top&&t.clientY<=i.bottom,l=s.current.querySelectorAll(".mb-card");if(!a)return Ku.to(e,{opacity:0,duration:.3}),void l.forEach((e=>e.style.setProperty("--glow-intensity","0")));const{proximity:c,fadeDistance:d}=(e=>({proximity:.5*e,fadeDistance:.75*e}))(r);let u=1/0;l.forEach((e=>{const s=e.getBoundingClientRect(),n=Math.max(0,Math.hypot(t.clientX-(s.left+s.width/2),t.clientY-(s.top+s.height/2))-Math.max(s.width,s.height)/2);u=Math.min(u,n),((e,t,s,n,i)=>{const r=e.getBoundingClientRect();e.style.setProperty("--glow-x",(t-r.left)/r.width*100+"%"),e.style.setProperty("--glow-y",(s-r.top)/r.height*100+"%"),e.style.setProperty("--glow-intensity",n.toString()),e.style.setProperty("--glow-radius",`${i}px`)})(e,t.clientX,t.clientY,n<=c?1:n<=d?(d-n)/(d-c):0,r)})),Ku.to(e,{left:t.clientX,top:t.clientY,duration:.1}),Ku.to(e,{opacity:u<=c?.8:u<=d?(d-u)/(d-c)*.8:0,duration:.2})},l=()=>{var t;null===(t=s.current)||void 0===t||t.querySelectorAll(".mb-card").forEach((e=>e.style.setProperty("--glow-intensity","0"))),Ku.to(e,{opacity:0,duration:.3})};return document.addEventListener("mousemove",t),document.addEventListener("mouseleave",l),()=>{var s;document.removeEventListener("mousemove",t),document.removeEventListener("mouseleave",l),null===(s=e.parentNode)||void 0===s||s.removeChild(e)}}),[s,n,i,r,a]),null},lh=t=>{let{textAutoHide:s=!0,enableStars:n=!0,enableSpotlight:i=!0,enableBorderGlow:r=!0,disableAnimations:a=!1,spotlightRadius:o=Xu,particleCount:l=Qu,glowColor:c=Ju,clickEffect:d=!0,enableMagnetism:u=!1}=t;const h=(0,e.useRef)(null),[p,m]=(0,e.useState)(!1);(0,e.useEffect)((()=>{const e=()=>m(window.innerWidth<=768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[]);const f=a||p,g=["mb-card",s&&"mb-card--autohide",r&&"mb-card--glow"].filter(Boolean).join(" ");return(0,jt.jsxs)(jt.Fragment,{children:[i&&(0,jt.jsx)(oh,{gridRef:h,disableAnimations:f,enabled:i,spotlightRadius:o,glowColor:c}),(0,jt.jsx)("div",{className:"mb-grid mb-bento-section",ref:h,children:rh.map(((e,t)=>{let{label:s,title:n,description:i,Visual:r}=e;return(0,jt.jsxs)(ah,{className:g,style:{"--glow-color":c},disableAnimations:f,particleCount:l,glowColor:c,clickEffect:d,children:[(0,jt.jsx)("div",{className:"mb-card__header",children:(0,jt.jsx)("div",{className:"mb-card__label",children:s})}),(0,jt.jsx)(r,{}),(0,jt.jsxs)("div",{className:"mb-card__footer",children:[(0,jt.jsx)("h3",{className:"mb-card__title",children:n}),(0,jt.jsx)("p",{className:"mb-card__desc",children:i})]})]},t)}))})]})},ch=function(t){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1800,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const[i,r]=(0,e.useState)(0),a=(0,e.useRef)(null),o=(0,e.useRef)(!1),l=(0,e.useCallback)((()=>{const e=performance.now(),i=a=>{const o=a-e,l=Math.min(o/s,1),c=1-Math.pow(1-l,3);r(parseFloat((c*t).toFixed(n))),l<1?requestAnimationFrame(i):r(t)};requestAnimationFrame(i)}),[t,s,n]);return(0,e.useEffect)((()=>{const e=a.current;if(!e)return;const t=new IntersectionObserver((e=>{let[s]=e;s.isIntersecting&&!o.current&&(o.current=!0,l(),t.disconnect())}),{threshold:.3});return t.observe(e),()=>t.disconnect()}),[l]),[i,a]},dh=["Thanks for reaching out! A DataFlows specialist will be in touch shortly.","Message received \u2713 \u2014 your SMS was delivered instantly.","Got it! DataFlows makes it this easy for your customers too.","Your campaign just reached 10,000 customers in under 3 seconds! \ud83d\ude80","OTP delivered. Customer verified successfully."],uh=[{id:1,text:"Hi! Welcome to DataFlows \ud83d\udc4b Your account is set up and ready.",from:"df",time:"9:41 AM"},{id:2,text:"You have 1,000 SMS credits loaded. Start sending to your customers today.",from:"df",time:"9:41 AM"},{id:3,text:"Reply anytime \u2014 two-way messaging is built in.",from:"df",time:"9:42 AM"}],hh=()=>{const[t,s]=(0,e.useState)([]),[n,i]=(0,e.useState)(!1),[r,a]=(0,e.useState)(""),[o,l]=(0,e.useState)(!1),[c,d]=(0,e.useState)(0),u=(0,e.useRef)(null),h=(0,e.useRef)(null);(0,e.useEffect)((()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)}
2),[t,o]),(0,e.useEffect)((()=>{const e=new IntersectionObserver((e=>{e[0].isIntersecting&&!n&&(i(!0),uh.forEach(((e,t)=>{setTimeout((()=>{s((t=>[...t,e]))}),900*t)})))}),{threshold:.35});return h.current&&e.observe(h.current),()=>e.disconnect()}),[n]);const p=()=>{if(!r.trim())return;const e=(new Date).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"});s((t=>[...t,{id:Date.now(),text:r.trim(),from:"user",time:e}])),a(""),d(0),l(!0),setTimeout((()=>{l(!1);const e=dh[Math.floor(Math.random()*dh.length)];s((t=>[...t,{id:Date.now()+1,text:e,from:"df",time:(new Date).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}]))}),1400)};return(0,jt.jsxs)("div",{className:"v2-phone-section",ref:h,children:[(0,jt.jsxs)("div",{className:"v2-phone-side-text","data-aos":"fade-right",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Try it live"}),(0,jt.jsx)("h2",{children:"See SMS in action"}),(0,jt.jsx)("p",{children:"Type a message and hit send \u2014 experience the speed and simplicity of DataFlows SMS firsthand. This is exactly what your customers see."}),(0,jt.jsxs)("ul",{className:"v2-phone-feature-list",children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),"160 characters per SMS"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),"Instant two-way messaging"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),"Branded sender ID (your business name)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),"99.9% delivery rate across Australia"]})]}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-primary",children:"Start for free"})]}),(0,jt.jsxs)("div",{className:"v2-phone-frame","data-aos":"fade-left",children:[(0,jt.jsx)("div",{className:"v2-phone-notch",children:(0,jt.jsx)("div",{className:"v2-phone-notch-pill"})}),(0,jt.jsxs)("div",{className:"v2-phone-screen",children:[(0,jt.jsxs)("div",{className:"v2-phone-status-bar",children:[(0,jt.jsx)("span",{children:"9:41"}),(0,jt.jsxs)("div",{className:"v2-phone-status-icons",children:[(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"14",height:"14",children:(0,jt.jsx)("path",{d:"M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z"})}),(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",width:"14",height:"14",children:(0,jt.jsx)("path",{d:"M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4z"})})]})]}),(0,jt.jsxs)("div",{className:"v2-phone-chat-header",children:[(0,jt.jsx)("div",{className:"v2-phone-avatar",children:"DF"}),(0,jt.jsxs)("div",{className:"v2-phone-contact-info",children:[(0,jt.jsx)("div",{className:"v2-phone-contact-name",children:"DataFlows"}),(0,jt.jsxs)("div",{className:"v2-phone-contact-status",children:[(0,jt.jsx)("span",{className:"v2-online-dot"}),"SMS Platform"]})]})]}),(0,jt.jsxs)("div",{className:"v2-phone-messages",ref:u,children:[(0,jt.jsx)("div",{className:"v2-phone-date-divider",children:"Today"}),t.map((e=>(0,jt.jsxs)("div",{className:`v2-msg v2-msg--${e.from} v2-msg--in`,children:[(0,jt.jsx)("div",{className:"v2-msg-bubble",children:e.text}),(0,jt.jsx)("div",{className:"v2-msg-time",children:e.time})]},e.id))),o&&(0,jt.jsx)("div",{className:"v2-msg v2-msg--df v2-msg--in",children:(0,jt.jsxs)("div",{className:"v2-msg-bubble v2-typing-bubble",children:[(0,jt.jsx)("span",{className:"v2-dot"}),(0,jt.jsx)("span",{className:"v2-dot"}),(0,jt.jsx)("span",{className:"v2-dot"})]})})]}),(0,jt.jsxs)("div",{className:"v2-phone-input-bar",children:[(0,jt.jsx)("input",{type:"text",value:r,onChange:e=>{a(e.target.value),d(e.target.value.length)},onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),p())},placeholder:"Type a message...",maxLength:160}),(0,jt.jsxs)("span",{className:"v2-char-count",children:[c,"/160"]}),(0,jt.jsx)("button",{className:"v2-send-btn"+(r.trim()?" v2-send-btn--active":""),onClick:p,"aria-label":"Send",children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"
2currentColor",width:"18",height:"18",children:(0,jt.jsx)("path",{d:"M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"})})})]})]}),(0,jt.jsx)("div",{className:"v2-phone-home-indicator"})]})]})},ph=()=>{const[t,s]=(0,e.useState)(!1),[n,i]=(0,e.useState)(!1),[r,a]=(0,e.useState)(!1),[o,l]=(0,e.useState)((()=>window.innerWidth<=768)),c=(0,e.useRef)(null),[d,u]=ch(99.9,1800,1),[h,p]=ch(98,1600,0),[m,f]=ch(2.5,1400,1);(0,e.useEffect)((()=>{const e=()=>l(window.innerWidth<=768);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[]);const g=()=>{Nt(),kt()};(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:700,easing:"ease-out",once:!0,offset:80});const e=()=>{i(window.scrollY>20),a(window.scrollY>400)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const y=[{src:"/logos/icons/teams.png",alt:"Microsoft Teams",label:"Microsoft Teams",path:"/integrations/microsoft-teams"},{src:"https://cdn.simpleicons.org/zapier",alt:"Zapier",label:"Zapier",path:"/integrations/zapier"},{src:"/logos/icons/power-automate.png",alt:"Power Automate",label:"Power Automate",path:"/integrations/power-automate"},{src:"https://cdn.simpleicons.org/supabase",alt:"Supabase",label:"Supabase",path:"/integrations/supabase"},{src:"https://cdn.simpleicons.org/auth0",alt:"Auth0",label:"Auth0",path:"/integrations/auth0"},{src:"https://cdn.simpleicons.org/shopify",alt:"Shopify",label:"Shopify",path:"/integrations/shopify"},{src:"https://cdn.simpleicons.org/wordpress",alt:"WordPress",label:"WordPress",path:"/integrations/wordpress"},{src:"/logos/icons/gohighlevel.png",alt:"GoHighLevel",label:"GoHighLevel",path:"/integrations/gohighlevel"},{src:"/logos/icons/cliniko.png",alt:"Cliniko",label:"Cliniko",path:"/integrations/cliniko"},{src:"https://cdn.simpleicons.org/hubspot",alt:"HubSpot",label:"HubSpot",path:"https://zapier.com/apps/dataflows-sms/integrations/hubspot",external:!0},{src:"https://cdn.simpleicons.org/mailchimp",alt:"Mailchimp",label:"Mailchimp",path:"https://zapier.com/apps/dataflows-sms/integrations/mailchimp",external:!0},{src:"https://cdn.simpleicons.org/xero",alt:"Xero",label:"Xero",path:"https://zapier.com/apps/dataflows-sms/integrations/xero",external:!0},{src:"https://cdn.simpleicons.org/stripe",alt:"Stripe",label:"Stripe",path:"https://zapier.com/apps/dataflows-sms/integrations/stripe",external:!0}];return(0,jt.jsxs)("div",{className:"v2-root",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"SMS Gateway & API Platform for Australian Business | DataFlows"}),(0,jt.jsx)("link",{rel:"canonical",href:"https://dataflows.com.au/"}),(0,jt.jsx)("meta",{name:"description",content:"Leading SMS platform for Australian businesses. Reliable SMS API, bulk messaging & automation. ACMA compliant. From 2.5\xa2 per SMS."}),(0,jt.jsx)("meta",{name:"keywords",content:"SMS for business Australia, SMS API Australia, bulk SMS Australia, business SMS marketing, Australian SMS service, SMS platform Australia"}),(0,jt.jsx)("meta",{property:"og:title",content:"SMS Gateway & API Platform for Australian Business | DataFlows"}),(0,jt.jsx)("meta",{property:"og:description",content:"Leading SMS for business Australia platform with reliable SMS API, bulk messaging, and automated SMS marketing."}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"DataFlows SMS Platform",applicationCategory:"BusinessApplication",operatingSystem:"Web",offers:[{"@type":"Offer",name:"Mini",price:"35.00",priceCurrency:"AUD",description:"One-time SMS credit pack, pay-as-you-go with no recurring charges."},{"@type":"Offer",name:"Pro",price:"150.00",priceCurrency:"AUD",description:"One-time SMS credit pack, pay-as-you-go with no recurring charges."},{"@type":"Offer",name:"Business",price:"500.00",priceCurrency:"AUD",description:"One-time SMS credit pack, pay-as-you-go with no recurring charges."}],description:"ACMA-registered SMS marketing platform for Australian businesses. Bulk SMS, branded sender IDs, SMS API, Zapier and Power Automate integrations.",url:"https://dataflows.com.au",provider:{"@type":"Organization",name:"DataFlows",sameAs:"https://dataflows.com.au"}})})]}),(0,jt.jsx)("nav",{className:`v2-nav${n?" v2-nav--scrolled":""}${t?" v2-nav--menu-open":""}`,children:(0,jt.jsxs)("div",{className:"v2-nav-inner",children:[(0,jt.jsx)(fe,{to:"/",className:"v2-nav-logo",children:(0,jt.jsx)("img",{src:"/dataflows-high-resolution-logo-200h.png",alt:"DataFlows",height:"36"})}),(0,jt.jsxs)("ul",{className:"v2-nav-links"+(t?" v2-nav-links--open":""),children:[(0,jt.jsx)("li",{children:(0,jt.jsx)("a",{href:"#features",className:"v2-nav-link",onClick:()=>s(!1),children:"Features"})}),(0,jt.jsx)("li",{children:(0,jt.jsx)("a",{href:"#how-it-works",className:"v2-nav-link",onClick:()=>s(!1),children:"How it works"})}),(0,jt.jsx)("li",{children:(0,jt.jsx)("a",{href:"#pricing",className:"v2-nav-link",onClick:()=>s(!1),children:"Pricing"})}),(0,jt.jsx)("li",{children:(0,jt.jsx)(fe,{to:"/blog",className:"v2-nav-link",onClick:()=>s(!1),children:"Blog"})}),(0,jt.jsx)("li",{className:"v2-nav-integrations-wrapper",children:(0,jt.jsx)(St,{})}),(0,jt.jsx)("li",{children:(0,jt.jsx)(fe,{to:"/contact-us",className:"v2-nav-link",onClick:()=>s(!1),children:"Contact Us"})})]}),(0,jt.jsxs)("div",{className:"v2-nav-actions",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-ghost v2-nav-signin",children:"Sign in"}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-primary v2-nav-cta",onClick:g,children:"Get started"})]}),(0,jt.jsx)("button",{className:"v2-hamburger",onClick:()=>s(!t),"aria-label":"Toggle menu",children:t?(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M18 6L6 18M6 6l12 12"})}):(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M3 12h18M3 6h18M3 18h18"})})})]})}),t&&(0,jt.jsxs)("div",{className:"v2-mobile-menu",children:[(0,jt.jsx)("a",{href:"#features",onClick:()=>s(!1),children:"Features"}),(0,jt.jsx)("a",{href:"#how-it-works",onClick:()=>s(!1),children:"How it works"}),(0,jt.jsx)("a",{href:"#pricing",onClick:()=>s(!1),children:"Pricing"}),(0,jt.jsx)(fe,{to:"/blog",onClick:()=>s(!1),children:"Blog"}),(0,jt.jsx)(fe,{to:"/integrations",onClick:()=>s(!1),children:"Integrations"}),(0,jt.jsx)(fe,{to:"/contact-us",onClick:()=>s(!1),children:"Contact Us"}),(0,jt.jsxs)("div",{className:"v2-mobile-menu-actions",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-ghost",children:"Sign in"}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-primary",onClick:g,children:"Get started"})]})]}),(0,jt.jsxs)("section",{className:"v2-hero",children:[(0,jt.jsx)("div",{className:"v2-hero-glow"}),(0,jt.jsxs)("div",{className:"v2-hero-content","data-aos":"fade-up",children:[(0,jt.jsxs)("div",{className:"v2-hero-badge",children:[(0,jt.jsx)("span",{className:"v2-hero-badge-dot"}),"Australia's #1 SMS Platform"]}),(0,jt.jsxs)("div",{className:"v2-hero-trust-badges",children:[(0,jt.jsxs)("a",{href:"https://www.acma.gov.au/approved-telcos-and-message-providers-sms-sender-id-register",target:"_blank",rel:"noreferrer noopener",className:"v2-trust-badge v2-trust-badge--acma",children:[(0,jt.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:(0,jt.jsx)("path",{d:"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"})}),"ACMA Registered Originating Telco"]}),(0,jt.jsx)("span",{className:"v2-trust-badge",children:"\u2713 Spam Act 2003"}),(0,jt.jsx)("span",{className:"v2-trust-badge",children:"\u2713 No lock-in contracts"})]}),(0,jt.jsxs)("h1",{className:"v2-hero-title",children:["The SMS tool your",(0,jt.jsx)("br",{}),(0,jt.jsx)("span",{className:"v2-gradient-text",children:"business actually needs"})]}),(0,jt.jsx)("p",{className:"v2-hero-subtitle",children:"Reliable business messaging, built for Australia. Connect with your customers instantly using a platform designed for speed, scale, and compliance."}),(0,jt.jsxs)("div",{className:"v2-hero-actions",children:[(0,jt.jsxs)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-primary v2-btn-lg",onClick:g,children:["Get started free",(0,jt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",width:"18",height:"18",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z",clipRule:"evenodd"})})]}),(0,jt.jsx)("a",{href:"#pricing",className:"v2-btn-outline v2-btn-lg",children:"View plans"})]}),(0,jt.jsx)("p",{className:"v2-hero-no-cc",children:"No credit card required \xb7 Cancel anytime"}),(0,jt.jsxs)("div",{className:"v2-hero-stats",ref:u,children:[(0,jt.jsxs)("div",{className:"v2-stat",children:[(0,jt.jsxs)("span",{className:"v2-stat-num",children:[d,"%"]}),(0,jt.jsx)("span",{className:"v2-stat-label",children:"Delivery rate"})]}),(0,jt.jsx)("div",{className:"v2-stat-divider"}),(0,jt.jsxs)("div",{className:"v2-stat",children:[(0,jt.jsxs)("span",{className:"v2-stat-num",ref:p,children:[h,"%"]}),(0,jt.jsx)("span",{className:"v2-stat-label",children:"Open rate"})]}),(0,jt.jsx)("div",{className:"v2-stat-divider"}),(0,jt.jsxs)("div",{className:"v2-stat",children:[(0,jt.jsxs)("span",{className:"v2-stat-num",ref:f,children:[m,"\xa2"]}),(0,jt.jsx)("span",{className:"v2-stat-label",children:"From per SMS"})]})]})]}),(0,jt.jsx)("div",{className:"v2-hero-visual","data-aos":"fade-left","data-aos-delay":"150",children:(0,jt.jsx)("div",{className:"v2-spline-wrapper",children:(0,jt.jsx)("spline-viewer",{url:"https://prod.spline.design/DlnNMurvV4Ugn-k6/scene.splinecode",style:{"--spline-branding-display":"none"}})})})]}),(0,jt.jsx)("div",{className:"v2-dashboard-preview","data-aos":"zoom-in","data-aos-delay":"100",children:(0,jt.jsxs)("div",{className:"v2-dashboard-frame",children:[(0,jt.jsxs)("div",{className:"v2-dashboard-bar",children:[(0,jt.jsx)("span",{}),(0,jt.jsx)("span",{}),(0,jt.jsx)("span",{})]}),(0,jt.jsx)("img",{src:"/logos/4-1400w.png",alt:"DataFlows Dashboard",loading:"lazy"})]})}),(0,jt.jsx)("section",{className:"v2-section v2-bento-section",children:(0,jt.jsxs)("div",{className:"v2-section-inner",children:[(0,jt.jsxs)("div",{className:"v2-section-header","data-aos":"fade-up",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Platform"}),(0,jt.jsx)("h2",{className:"v2-section-title",children:"Everything you need to SMS at scale"}),(0,jt.jsx)("p",{className:"v2-section-subtitle",children:"One platform, all the tools \u2014 built for Australian businesses that take messaging seriously."})]}),(0,jt.jsx)("div",{"data-aos":"fade-up","data-aos-delay":"100",children:(0,jt.jsx)(lh,{textAutoHide:!0,enableStars:!0,enableSpotlight:!0,enableBorderGlow:!0,enableTilt:!1,enableMagnetism:!1,clickEffect:!0,spotlightRadius:400,particleCount:12,glowColor:"82, 40, 245",disableAnimations:!1})})]})}),(0,jt.jsx)("section",{id:"features",className:"v2-section",children:(0,jt.jsxs)("div",{className:"v2-section-inner",children:[(0,jt.jsxs)("div",{className:"v2-section-header","data-aos":"fade-up",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Features"}),(0,jt.jsx)("h2",{className:"v2-section-title",children:"Effortless Messaging"}),(0,jt.jsx)("p",{className:"v2-section-subtitle",children:"Expert service, unbeatable prices \u2014 messaging made simple. Our range of solutions helps businesses of all sizes connect with customers effectively."})]}),(0,jt.jsx)(oh,{gridRef:c,enabled:!o,spotlightRadius:350,glowColor:"82, 40, 245"}),(0,jt.jsx)("div",{className:"v2-features-grid mb-bento-section",ref:c,children:[{icon:"/logos/icons/bulk-sms.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/1323/1323772.png",title:"Bulk SMS",desc:"Deliver messages to large audiences instantly. Reach thousands of customers simultaneously with personalised messages for promotions, alerts, and announcements."},{icon:"/logos/icons/api.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/17034/17034231.png",title:"SMS API",desc:"Integrate SMS into your existing systems with our robust REST API. Full webhooks, SDKs for popular languages, and comprehensive documentation included."},{icon:"/logos/icons/branded.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/7111/7111069.png",title:"Branded SMS",desc:"Send messages with your business name instead of a generic number. Up to 45% higher engagement compared to unknown numbers."},{icon:"/logos/icons/twoway.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/14469/14469425.png",title:"Two-Way Messaging",desc:"Enable real conversations with your customers. Perfect for support, appointment confirmations, feedback, and surveys with intelligent routing."},{icon:"/logos/icons/otp.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/6357/6357048.png",title:"OTP / Verification",desc:"Enhance security with one-time passwords. Customisable templates, expiration times, and retry logic for robust authentication."},{icon:"/logos/icons/automation.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/10492/10492948.png",title:"Automation",desc:"Automate birthday 
2wishes, reminders, and drip campaigns. Trigger-based workflows send perfectly timed messages without manual effort."},{icon:"/logos/icons/dashboard.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/8899/8899687.png",title:"Dashboard",desc:"Manage all your messaging activities from one intuitive dashboard. Monitor campaigns, contacts, delivery rates, and spending at a glance."},{icon:"/logos/icons/campaigns.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/18382/18382499.png",title:"Campaigns",desc:"Launch targeted campaigns with precision. Create, execute, and monitor your marketing initiatives seamlessly from a single platform."},{icon:"/logos/icons/templates.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/1085/1085728.png",title:"Templates",desc:"Design reusable templates for every messaging need. From promotional messages to reminders, save time and maintain consistency."},{icon:"/logos/icons/schedule.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/6752/6752827.png",title:"Scheduled Campaigns",desc:"Plan campaigns ahead of time and reach your audience at the optimal moment. Align with customer time zones for maximum impact."},{icon:"/logos/icons/blacklist.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/3206/3206886.png",title:"Blacklist Management",desc:"Block unwanted numbers and manage opt-outs automatically. Ensure your messages always reach the right people."},{icon:"/logos/icons/analytics.png",fallbackIcon:"https://cdn-icons-png.flaticon.com/512/11083/11083341.png",title:"Analysis & Reporting",desc:"Gain deep insights with our analytics tools. Understand your audience, track delivery rates, and refine your messaging strategy."}].map(((e,t)=>(0,jt.jsxs)(ah,{className:"v2-feature-card mb-card mb-card--glow",style:{"--glow-color":"82, 40, 245"},glowColor:"82, 40, 245",particleCount:8,clickEffect:!0,disableAnimations:o,children:[(0,jt.jsx)("div",{className:"v2-feature-icon",children:(0,jt.jsx)("img",{src:e.fallbackIcon,alt:e.title,width:"32",height:"32",onError:t=>{t.target.src=e.fallbackIcon}})}),(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]},t)))})]})}),(0,jt.jsx)("section",{className:"v2-testimonial-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-testimonial",children:[(0,jt.jsx)("div",{className:"v2-testimonial-quote",children:'"'}),(0,jt.jsx)("p",{className:"v2-testimonial-text",children:"Our SMS campaigns have transformed our customer engagement \u2014 simple, effective, and reliable. Sending messages with our brand name has boosted our credibility and customer trust."}),(0,jt.jsxs)("div",{className:"v2-testimonial-author",children:[(0,jt.jsx)("img",{src:"https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=80&h=80&fit=crop&crop=face",alt:"Natalie Furrow",className:"v2-testimonial-avatar"}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("div",{className:"v2-testimonial-name",children:"Natalie Furrow"}),(0,jt.jsx)("div",{className:"v2-testimonial-role",children:"Founder and CEO"})]})]})]})}),(0,jt.jsx)("section",{className:"v2-banner v2-banner--alt","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-banner-inner",children:[(0,jt.jsxs)("div",{className:"v2-banner-text","data-aos":"fade-right","data-aos-duration":"1000",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Content Management"}),(0,jt.jsx)("h2",{children:"Reach all your customers in just one place"}),(0,jt.jsx)("p",{children:"Manage all your customer communications effortlessly from a single platform. Whether you're sending promotions, reminders, or updates, our service lets you reach your entire audience in one streamlined place, saving you time and ensuring consistent messaging."}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-primary",onClick:g,children:"Get started"})]}),(0,jt.jsx)("div",{className:"v2-banner-image","data-aos":"fade-left","data-aos-duration":"1000",children:(0,jt.jsx)("img",{src:"/logos/brand%20loyalty-pana-1200w.png",alt:"Brand Loyalty",loading:"lazy"})})]})}),(0,jt.jsx)("section",{className:"v2-banner","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-banner-inner v2-banner-inner--reverse",children:[(0,jt.jsx)("div",{className:"v2-banner-image","data-aos":"fade-right","data-aos-duration":"1000",children:(0,jt.jsx)("img",{src:"/data%20report-pana-1200w.png",alt:"Data Report",loading:"lazy"})}),(0,jt.jsxs)("div",{className:"v2-banner-text","data-aos":"fade-left","data-aos-duration":"1000",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Features"}),(0,jt.jsx)("h2",{children:"SMS Power Features: Scale, Track, and Personalise"}),(0,jt.jsxs)("div",{className:"v2-feature-list",children:[(0,jt.jsxs)("div",{className:"v2-feature-list-item",children:[(0,jt.jsx)("div",{className:"v2-feature-list-dot"}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("strong",{children:"Scalability"}),(0,jt.jsx)("span",{children:"Handle large volumes of SMS with ease"})]})]}),(0,jt.jsxs)("div",{className:"v2-feature-list-item",children:[(0,jt.jsx)("div",{className:"v2-feature-list-dot"}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("strong",{children:"Delivery Reports"}),(0,jt.jsx)("span",{children:"Track message delivery in real-time"})]})]}),(0,jt.jsxs)("div",{className:"v2-feature-list-item",children:[(0,jt.jsx)("div",{className:"v2-feature-list-dot"}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("strong",{children:"Personalisation"}),(0,jt.jsx)("span",{children:"Customise messages for different customer segments"})]})]})]})]})]})}),(0,jt.jsx)("section",{className:"v2-banner v2-banner--alt","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-banner-inner",children:[(0,jt.jsxs)("div",{className:"v2-banner-text","data-aos":"fade-right","data-aos-duration":"1000",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Use Cases"}),(0,jt.jsx)("h2",{children:"Supercharge Your Sales with Precision SMS Campaigns"}),(0,jt.jsx)("p",{children:"Transform your marketing strategy with targeted SMS campaigns designed to engage your audience and drive conversions. Segment your audience and craft personalised messages that resonate with each group, ensuring maximum impact and increased sales."}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-primary",onClick:g,children:"Get started"})]}),(0,jt.jsx)("div",{className:"v2-banner-image","data-aos":"fade-left","data-aos-duration":"1000",children:(0,jt.jsx)("img",{src:"/logos/messages-amico-1200w.png",alt:"SMS Campaigns",loading:"lazy"})})]})}),(0,jt.jsx)("section",{className:"v2-banner","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-banner-inner v2-banner-inner--reverse",children:[(0,jt.jsx)("div",{className:"v2-banner-image","data-aos":"fade-right","data-aos-duration":"1000",children:(0,jt.jsx)("img",{src:"/schedule-amico-1200w.png",alt:"Scheduled Messaging",loading:"lazy"})}),(0,jt.jsxs)("div",{className:"v2-banner-text","data-aos":"fade-left","data-aos-duration":"1000",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Use Cases"}),(0,jt.jsx)("h2",{children:"Scheduled Messaging: Send When It Matters Most"}),(0,jt.jsxs)("div",{className:"v2-feature-list",children:[(0,jt.jsxs)("div",{className:"v2-feature-list-item",children:[(0,jt.jsx)("div",{className:"v2-feature-list-dot"}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("strong",{children:"Flexible Timing"}),(0,jt.jsx)("span",{children:"Set messages to go out on specific days and times that fit your strategy"})]})]}),(0,jt.jsxs)("div",{className:"v2-feature-list-item",children:[(0,jt.jsx)("div",{className:"v2-feature-list-dot"}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("strong",{children:"Automated Campaigns"}),(0,jt.jsx)("span",{children:"Schedule SMS blasts in advance, ensuring consistent communication without manual effort"})]})]}),(0,jt.jsxs)("div",{className:"v2-feature-list-item",children:[(0,jt.jsx)("div",{className:"v2-feature-list-dot"}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("strong",{children:"Targeted Delivery"}),(0,jt.jsx)("span",{children:"Align campaigns with customer time zones or peak engagement periods for maximum impact"})]})]})]})]})]})}),(0,jt.jsx)("section",{className:"v2-banner v2-banner--alt","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-banner-inner",children:[(0,jt.jsxs)("div",{className:"v2-banner-text","data-aos":"fade-right","data-aos-duration":"1000",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Use Cases"}),(0,jt.jsx)("h2",{children:"Keep Your Customers Ahead with Instant SMS Alerts"}),(0,jt.jsx)("p",{children:"Keep your audience informed with real-time SMS alerts and notifications. Whether it's important updates, critical alerts, or timely information, our platform ensures your messages reach the right people instantly, keeping them engaged and informed."}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-primary",onClick:g,children:"Get started"})]}),(0,jt.jsx)("div",{className:"v2-banner-image","data-aos":"fade-left","data-aos-duration":"1000",children:(0,jt.jsx)("img",{src:"/mobile%20marketing-rafiki-1200w.png",alt:"SMS Alerts",loading:"lazy"})})]})}),(0,jt.jsx)("section",{className:"v2-section v2-integrations-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-section-inner",children:[(0,jt.jsxs)("div",{className:"v2-section-header","data-aos":"fade-up",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Integrations"}),(0,jt.jsx)("h2",{className:"v2-section-title",children:"Integrated 
2with the tools you know and love"}),(0,jt.jsx)("p",{className:"v2-section-subtitle",children:"Easily synchronise with the tools you already use to streamline your workflow and maximise efficiency."})]}),(0,jt.jsx)("div",{className:"v2-logo-carousel","data-aos":"fade-up","data-aos-delay":"100",children:(0,jt.jsx)("div",{className:"v2-logo-track",children:[...y,...y].map(((e,t)=>{const s=(0,jt.jsxs)(jt.Fragment,{children:[(0,jt.jsx)("img",{src:e.src,alt:e.alt,loading:"lazy"}),(0,jt.jsx)("span",{className:"v2-integration-logo-label",children:e.label})]});return e.external?(0,jt.jsx)("a",{href:e.path,target:"_blank",rel:"noreferrer noopener",className:"v2-integration-logo","aria-label":e.label,children:s},t):e.path?(0,jt.jsx)(fe,{to:e.path,className:"v2-integration-logo","aria-label":e.label,onClick:()=>window.scrollTo(0,0),children:s},t):(0,jt.jsx)("div",{className:"v2-integration-logo v2-integration-logo--soon",children:s},t)}))})})]})}),(0,jt.jsx)("section",{id:"how-it-works",className:"v2-section v2-how-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-section-inner",children:[(0,jt.jsxs)("div",{className:"v2-section-header","data-aos":"fade-up",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"How it works"}),(0,jt.jsx)("h2",{className:"v2-section-title",children:"Get Started in 3 Simple Steps"})]}),(0,jt.jsxs)("div",{className:"v2-steps",children:[(0,jt.jsx)("div",{className:"v2-step","data-aos":"fade-up","data-aos-delay":"50",children:(0,jt.jsxs)("div",{className:"v2-step-content",children:[(0,jt.jsx)("img",{src:"/sign%20up-amico-1200w.png",alt:"Sign up",loading:"lazy"}),(0,jt.jsx)("h3",{children:"Sign up"}),(0,jt.jsx)("p",{children:"Create your account in minutes and get ready to connect with your audience."}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-primary",onClick:g,children:"Get started"})]})}),(0,jt.jsx)("div",{className:"v2-step","data-aos":"fade-up","data-aos-delay":"150",children:(0,jt.jsxs)("div",{className:"v2-step-content",children:[(0,jt.jsx)("img",{src:"/mobile%20login-pana-1200w.png",alt:"Select Plan",loading:"lazy"}),(0,jt.jsx)("h3",{children:"Select a Plan"}),(0,jt.jsx)("p",{children:"Choose the perfect plan tailored to your messaging needs and budget."})]})}),(0,jt.jsx)("div",{className:"v2-step","data-aos":"fade-up","data-aos-delay":"250",children:(0,jt.jsxs)("div",{className:"v2-step-content",children:[(0,jt.jsx)("img",{src:"/logos/done-rafiki-1200w.png",alt:"Start sending",loading:"lazy"}),(0,jt.jsx)("h3",{children:"Start Sending SMS"}),(0,jt.jsx)("p",{children:"Begin sending personalised messages and track your results instantly."})]})})]})]})}),(0,jt.jsx)(hh,{}),(0,jt.jsx)("section",{id:"pricing",className:"v2-section v2-pricing-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-section-inner",children:[(0,jt.jsxs)("div",{className:"v2-section-header","data-aos":"fade-up",children:[(0,jt.jsx)("span",{className:"v2-section-label",children:"Pricing"}),(0,jt.jsx)("h2",{className:"v2-section-title",children:"Pricing for all kinds of businesses"}),(0,jt.jsx)("p",{className:"v2-section-subtitle",children:"No monthly or annual fees \u2014 every plan is pay-as-you-go, so you only ever pay for the SMS credits you use."})]}),(0,jt.jsx)("div",{className:"v2-pricing-grid",children:[{name:"Mini",price:"$35",period:"AUD",rate:"3.5\xa2 / SMS",highlight:!1,badge:null,billingNote:"Pay-as-you-go \u2014 no monthly or annual fees. Top up only when you need more credits.",features:["1,000 SMS credits","30 Contact Lists","30 SMS Templates","Zero Subscription Fees"],cta:"Get Started",ctaHref:"https://sms.dataflows.com.au/register"},{name:"Pro",price:"$150",period:"AUD",rate:"3\xa2 / SMS",highlight:!1,badge:null,billingNote:"Pay-as-you-go \u2014 no monthly or annual fees. Top up only when you need more credits.",features:["5,000 SMS credits","Free Sender ID (Business Name)","50 Contact Lists","50 SMS Templates","API Integrations","Zero Subscription Fees"],cta:"Get Started",ctaHref:"https://sms.dataflows.com.au/register"},{name:"Business",price:"$500",period:"AUD",rate:"2.5\xa2 / SMS",highlight:!0,badge:"Best Value",billingNote:"Pay-as-you-go \u2014 no monthly or annual fees. Top up only when you need more credits.",features:["20,000 SMS credits","Free Sender ID (Business N
2ame)","Unlimited Contact Lists","Unlimited Templates","API Integrations","Zero Subscription Fees"],cta:"Get Started",ctaHref:"https://sms.dataflows.com.au/register"},{name:"Enterprise",price:"Custom",period:"",rate:"Volume pricing",highlight:!1,badge:null,billingNote:"Custom volume pricing \u2014 let\u2019s talk about terms that fit your business.",features:["All Features Included","Unbeatable Price for High-Volume","Dedicated Account Manager","SLA Guarantee","Custom Integrations","24/7 Priority Support"],cta:"Contact Us",ctaHref:"#ContactForm41"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"v2-pricing-card"+(e.highlight?" v2-pricing-card--featured":""),"data-aos":"fade-up","data-aos-delay":100+80*t,children:[e.badge&&(0,jt.jsx)("div",{className:"v2-pricing-badge",children:e.badge}),(0,jt.jsx)("div",{className:"v2-pricing-name",children:e.name}),(0,jt.jsxs)("div",{className:"v2-pricing-price",children:[e.price,e.period&&(0,jt.jsxs)("span",{className:"v2-pricing-period",children:[" ",e.period]})]}),(0,jt.jsx)("div",{className:"v2-pricing-rate",children:e.rate}),e.billingNote&&(0,jt.jsx)("div",{className:"v2-pricing-note",children:e.billingNote}),(0,jt.jsx)("ul",{className:"v2-pricing-features",children:e.features.map(((e,t)=>(0,jt.jsxs)("li",{children:[(0,jt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",className:"v2-check",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})}),e]},t)))}),(0,jt.jsx)("a",{href:e.ctaHref,target:e.ctaHref.startsWith("http")?"_blank":void 0,rel:e.ctaHref.startsWith("http")?"noreferrer noopener":void 0,className:e.highlight?"v2-btn-primary v2-btn-full":"v2-btn-outline v2-btn-full",onClick:e.ctaHref.startsWith("http")?g:void 0,children:e.cta})]},t)))})]})}),(0,jt.jsx)("div",{id:"ContactForm41",className:"v2-contact-wrapper",children:(0,jt.jsx)(Tt,{})}),(0,jt.jsx)("div",{className:"v2-blog-wrapper",children:(0,jt.jsx)(oo,{})}),(0,jt.jsx)("section",{className:"v2-cta-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"v2-cta-inner",children:[(0,jt.jsx)("div",{className:"v2-cta-glow"}),(0,jt.jsxs)("div",{className:"v2-cta-text",children:[(0,jt.jsx)("h2",{children:"Boost Your Reach with DataFlows!"}),(0,jt.jsx)("p",{children:"Leverage the power of data to connect with your audience like never before."}),(0,jt.jsxs)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"v2-btn-primary v2-btn-lg",onClick:g,children:["Get Started Free",(0,jt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",width:"18",height:"18",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z",clipRule:"evenodd"})})]})]}),(0,jt.jsx)("div",{className:"v2-cta-image",children:(0,jt.jsx)("img",{src:"/launching-amico-1200w.png",alt:"Launch with DataFlows",loading:"lazy"})})]})}),(0,jt.jsx)("section",{className:"v2-seo-section",children:(0,jt.jsxs)("div",{className:"v2-seo-inner",children:[(0,jt.jsxs)("div",{className:"v2-seo-block","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"SMS for Business Australia \u2014 Reliable Messaging Solutions"}),(0,jt.jsxs)("div",{className:"v2-seo-grid",children:[(0,jt.jsxs)("div",{children:[(0,jt.jsx)("p",{children:"DataFlows is Australia's leading SMS platform designed specifically for businesses that need reliable, cost-effective SMS marketing and communication solutions. Our platform serves thousands of Australian companies with bulk SMS, automated messaging, and advanced SMS campaigns."}),(0,jt.jsx)("p",{children:"Whether you're a small business in Melbourne, Sydney, Brisbane, or anywhere across Australia, our SMS business solutions help you connect with customers instantly. From appointment reminders to marketing campaigns, our Australian SMS service delivers messages with 98% open rates."})]}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("h3",{children:"Why Australian Businesses Choose DataFlows SMS:"}),(0,jt.jsxs)("ul",{className:"v2-seo-list",children:[(0,jt.jsx)("li",{children:"ACMA compliant SMS delivery across Australia"}),(0,jt.jsx)("li",{children:"Local Australian phone numbers and sender IDs"}),(0,jt.jsx)("li",{children:"24/7 Australian customer support"}),(0,jt.jsx)("li",{children:"Integration with popular Australian business software"}),(0,jt.jsx)("li",{children:"Competitive SMS pricing for Australian businesses"})]})]})]})]}),(0,jt.jsxs)("div",{className:"v2-seo-block","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"SMS API Australia \u2014 Developer-Friendly Integration"}),(0,jt.jsxs)("div",{className:"v2-seo-grid",children:[(0,jt.jsxs)("div",{children:[(0,jt.jsx)("p",{children:"Our SMS API Australia service provides developers and businesses with powerful, easy-to-integrate SMS functionality. Built specifically for the Australian market, our SMS API supports all major Australian carriers and provides reliable delivery with comprehensive reporting."}),(0,jt.jsx)("p",{children:"The DataFlows SMS API offers RESTful endpoints, webhook supp
2ort, and comprehensive documentation. Perfect for Australian businesses needing to integrate SMS into their applications, websites, or existing business systems."})]}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("h3",{children:"SMS API Features for Australian Developers:"}),(0,jt.jsxs)("ul",{className:"v2-seo-list",children:[(0,jt.jsx)("li",{children:"RESTful SMS API with comprehensive documentation"}),(0,jt.jsx)("li",{children:"Support for all major Australian carriers (Telstra, Optus, Vodafone)"}),(0,jt.jsx)("li",{children:"Real-time delivery reports and webhook notifications"}),(0,jt.jsx)("li",{children:"Bulk SMS API for high-volume messaging"}),(0,jt.jsx)("li",{children:"Two-way SMS API for interactive messaging"}),(0,jt.jsx)("li",{children:"SDK support for PHP, Python, Node.js, and more"})]})]})]})]}),(0,jt.jsxs)("div",{className:"v2-seo-block","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"SMS Solutions for Every Australian Industry"}),(0,jt.jsx)("div",{className:"v2-industry-grid",children:[{title:"Retail & E-commerce SMS",desc:"Order confirmations, shipping updates, and promotional campaigns for Australian retailers."},{title:"Healthcare SMS Australia",desc:"Appointment reminders, test results, and patient communications for Australian medical practices."},{title:"Real Estate SMS",desc:"Property alerts, inspection reminders, and client communications for Australian real estate agents."},{title:"Automotive SMS",desc:"Service reminders, booking confirmations, and customer updates for Australian automotive businesses."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"v2-industry-card",children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]},t)))})]}),(0,jt.jsxs)("div",{className:"v2-seo-block","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"v2-faq-grid",children:[{q:"How much does SMS for business cost in Australia?",a:"DataFlows offers competitive SMS pricing starting from 2.5 cents per SMS on the Business plan. Our bulk SMS packages provide great value for high-volume messaging needs with zero subscription fees."},{q:"Is DataFlows SMS API compatible with Australian regulations?",a:"Yes, our SMS API Australia platform is fully ACMA compliant and follows all Australian telecommunications regulations for business SMS messaging."},{q:"Can I use my business name as sender ID in Australia?",a:"Absolutely! DataFlows provides approved business sender IDs for Australian companies on Pro and Business plans, helping you maintain brand consistency in your SMS communications."},{q:"How reliable is SMS delivery across Australia?",a:"Our SMS platform delivers to all major Australian networks (Telstra, Optus, Vodafone) with 99.9% delivery reliability and detailed delivery reporting."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"v2-faq-item",children:[(0,jt.jsx)("h3",{children:e.q}),(0,jt.jsx)("p",{children:e.a})]},t)))})]})]})}),(0,jt.jsx)("div",{className:"v2-footer-wrapper",children:(0,jt.jsx)(bt,{})}),r&&(0,jt.jsx)("button",{className:"v2-scroll-top",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),"aria-label":"Scroll to top",children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:(0,jt.jsx)("path",{d:"M12 5l7 7h-4v7H9v-7H5l7-7z"})})})]})},mh=()=>{(0,e.useEffect)((()=>{window.scrollTo(0,0),"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0})}),[]);return(0,jt.jsxs)("div",{className:"sms-compliance-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"SMS Compliance & Opt-In Policy | DataFlows Australia"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/sms-compliance")}),(0,jt.jsx)("meta",{name:"description",content:"DataFlows SMS compliance policy for Australian businesses. Covers Spam Act 2003 requirements, ACMA guidelines, opt-in consent, opt-out (STOP), sender identification, and how DataFlows clients must comply."}),(0,jt.jsx)("meta",{name:"keywords",content:"SMS compliance Australia, Spam Act 2003, ACMA SMS compliance, SMS opt-in Australia, SMS opt-out, STOP keyword, Australian SMS law, SMS consent, commercial electronic message"}),(0,jt.jsx)("meta",{property:"og:title",content:"SMS Compliance & Opt-In Policy | DataFlows Australia"}),(0,jt.jsx)("meta",{property:"og:description",content:"DataFlows SMS compliance policy under the Australian Spam Act 2003 and ACMA guidelines. Covers opt-in consent, opt-out handling, and sender identification requirements."}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"WebPage",url:"https://dataflows.com.au/sms-compliance",name:"SMS Compliance & Opt-In Policy",description:"DataFlows SMS compliance policy for Australian businesses under the Spam Act 2003 and ACMA guidelines.",breadcrumb:{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"SMS Compliance",item:"https://dataflows.com.au/sms-compliance"}]},publisher:{"@type":"Organization",name:"DataFlows SMS",url:"https://dataflows.com.au"}})})]}),(0,jt.jsx)("div",{className:"compliance-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"SMS Compliance"}]})})}),(0,jt.jsx)("section",{className:"compliance-hero",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"hero-content","data-aos":"fade-up",children:[(0,jt.jsx)("div",{className:"hero-badge",children:"Spam Act 2003 Compliant"}),(0,jt.jsx)("h1",{children:"SMS Compliance & Opt-In Policy"}),(0,jt.jsx)("p",{className:"hero-subtitle",children:"DataFlows is committed to responsible SMS messaging. This page describes how end-users consent to receive messages, how to opt out, and how we 
2comply with Australian law \u2014 including the Spam Act 2003 and ACMA guidelines."}),(0,jt.jsx)("div",{className:"last-updated",children:(0,jt.jsx)("span",{children:"Last updated: February 2025"})})]})})}),(0,jt.jsx)("section",{className:"compliance-quick-ref",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsxs)("div",{className:"quick-ref-grid","data-aos":"fade-up",children:[(0,jt.jsxs)("div",{className:"quick-ref-item",children:[(0,jt.jsx)("div",{className:"quick-ref-label",children:"Opt-In"}),(0,jt.jsx)("div",{className:"quick-ref-value",children:"Explicit consent via client's signup form"})]}),(0,jt.jsxs)("div",{className:"quick-ref-item",children:[(0,jt.jsx)("div",{className:"quick-ref-label",children:"Opt-Out"}),(0,jt.jsxs)("div",{className:"quick-ref-value",children:["Reply ",(0,jt.jsx)("strong",{children:"STOP"})," to any message"]})]}),(0,jt.jsxs)("div",{className:"quick-ref-item",children:[(0,jt.jsx)("div",{className:"quick-ref-label",children:"Help"}),(0,jt.jsxs)("div",{className:"quick-ref-value",children:["Reply ",(0,jt.jsx)("strong",{children:"HELP"})," for support info"]})]}),(0,jt.jsxs)("div",{className:"quick-ref-item",children:[(0,jt.jsx)("div",{className:"quick-ref-label",children:"Frequency"}),(0,jt.jsx)("div",{className:"quick-ref-value",children:"Varies by sender and service type"})]})]})})}),(0,jt.jsx)("section",{className:"compliance-content",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsxs)("div",{className:"content-wrapper",children:[(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"1. About DataFlows"}),(0,jt.jsx)("p",{children:'DataFlows Australia Pty Ltd (ABN 23 685 656 893) is an SMS platform and reseller. We provide SMS messaging infrastructure to businesses ("Clients") who use our platform to communicate with their own customers and end-users ("End Users").'}),(0,jt.jsx)("p",{children:"DataFlows does not independently solicit end-users. All SMS communication is initiated by our Clients using their own opt-in processes, for which they are responsible."})]}),(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"2. How End Users Opt In"}),(0,jt.jsxs)("p",{children:["End Users receive SMS messages from DataFlows Clients ",(0,jt.jsx)("strong",{children:"only after providing explicit prior consent"}),". Consent is collected by the Client directly \u2014 typically via one of the following methods:"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"A web form or landing page where the user provides their phone number and agrees to receive SMS"}),(0,jt.jsx)("li",{children:"A checkout or account registration page with a clearly displayed SMS consent checkbox"}),(0,jt.jsx)("li",{children:"A verbal or written agreement at the point of service"}),(0,jt.jsx)("li",{children:"A keyword opt-in where the user texts a keyword to a number to subscribe"})]}),(0,jt.jsxs)("div",{className:"compliance-note",children:[(0,jt.jsx)("strong",{children:"Reseller Policy:"})," DataFlows requires all Clients to confirm they have obtained proper, documented consent from End Users as a condition of using our platform. Clients who violate this requirement are subject to account suspension."]})]}),(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"3. Message Frequency"}
2),(0,jt.jsx)("p",{children:"Message frequency varies depending on the Client and the nature of their service. End Users may receive:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Transactional messages (order confirmations, delivery updates, appointment reminders)"}),(0,jt.jsx)("li",{children:"Informational messages (account alerts, verification codes, security notifications)"}),(0,jt.jsx)("li",{children:"Promotional messages (offers, campaigns) \u2014 only where explicit marketing consent has been obtained"})]}),(0,jt.jsx)("p",{children:"The frequency of messages is set by the individual Client and disclosed to End Users at the time of opt-in."})]}),(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"4. How to Opt Out (STOP)"}),(0,jt.jsxs)("p",{children:["End Users can opt out of receiving SMS messages ",(0,jt.jsx)("strong",{children:"at any time"})," by replying ",(0,jt.jsx)("strong",{children:"STOP"})," to any message received from a DataFlows-powered number. Upon receipt of STOP:"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"The opt-out is processed immediately"}),(0,jt.jsx)("li",{children:"No further messages will be sent to that number from that sender"}),(0,jt.jsx)("li",{children:"A single confirmation message may be sent acknowledging the opt-out"})]}),(0,jt.jsxs)("p",{children:["Other supported opt-out keywords include: ",(0,jt.jsx)("strong",{children:"STOP"}),", ",(0,jt.jsx)("strong",{children:"STOPALL"}),", ",(0,jt.jsx)("strong",{children:"UNSUBSCRIBE"}),", ",(0,jt.jsx)("strong",{children:"CANCEL"}),", ",(0,jt.jsx)("strong",{children:"END"}),", and ",(0,jt.jsx)("strong",{children:"QUIT"}),"."]}),(0,jt.jsxs)("div",{className:"compliance-note highlight",children:[(0,jt.jsx)("strong",{children:"To opt out:"})," Reply ",(0,jt.jsx)("strong",{children:"STOP"})," to any message you have received. You will receive a confirmation and no further messages will be sent."]})]}),(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"5. Help & Support"}),(0,jt.jsx)("p",{children:"End Users who need assistance can:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:["Reply ",(0,jt.jsx)("strong",{children:"HELP"})," to any message to receive support contact information"]}),(0,jt.jsxs)("li",{children:["Email us at ",(0,jt.jsx)("a",{href:"mailto:[email protected]",className:"compliance-link",children:"[email protected]"})]}),(0,jt.jsxs)("li",{children:["Visit our website at ",(0,jt.jsx)("a",{href:"https://dataflows.com.au",className:"compliance-link",children:"dataflows.com.au"})]})]})]}),(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"6. Message & Data Rates"}),(0,jt.jsx)("p",{children:"Message and data rates may apply depending on your mobile carrier and plan. DataFlows does not charge End Users for receiving messages \u2014 any charges are between the End User and their mobile carrier."})]}),(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"7. Australian Law \u2014 Spam Act 2003 & ACMA"}),(0,jt.jsxs)("p",{children:["DataFlows and its Clients operate in compliance with the ",(0,jt.jsx)("strong",{children:"Spam Act 2003 (Cth)"})," and guidelines issued by the ",(0,jt.jsx)("strong",{children:"Australian Communications and Media Authority (ACMA)"}),". The Spam Act prohibits sending unsolicited commercial electronic messages to Australian accounts, and sets out three core requirements:"]}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Consent:"})," Commercial SMS messages may only be sent with express, inferred, or deemed consent from the recipient. Express consent is the strongest and most clearly documented form."]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Identification:"})," Every commercial message must clearly identify the sending organisation and provide accurate contact information so recipients can identify who sent the message."]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Unsubscribe:"})," Every commercial message must include a functional and easy-to-use unsubscribe mechanism. Opt-out requests must be honoured within 5 business days."]})]}),(0,jt.jsx)("p",{children:"DataFlows is an ACMA-registered Originating Telco, listed on the official ACMA SMS Sender ID Register. All Clients are required to comply with the Spam Act 2003 as a condition of using our platform."}),(0,jt.jsxs)("div",{className:"compliance-note",children:[(0,jt.jsx)("strong",{children:"For ACMA and regulators:"})," DataFlows operates as a reseller platform. Opt-in consent is collected by each Client at their respective customer touchpoints. DataFlows maintains platform-level compliance standards and requires Client attestation of consent collection. Please contact ",(0,jt.jsx)("a",{href:"mailto:[email protected]",className:"compliance-link",children:"[email protected]"})," for compliance documentation requests."]})]}),(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"8. Privacy & Data Handling"}),(0,jt.jsx)("p",{children:"Phone numbers and personal data collected as part of the SMS opt-in process are handled in accordance with our Privacy Policy. We do not sell or share End User phone numbers with third parties for marketing purposes."}),(0,jt.jsx)("p",{children:(0,jt.jsx)(fe,{to:"/privacy-policy",className:"compliance-link",children:"Read our Privacy Policy \u2192"})})]}),(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"9. Client Responsibilities"}),(0,jt.jsx)("p",{children:'Businesses using the DataFlows platform ("Clients") are responsible for:'}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Obtaining valid, documented opt-in consent from all End Users before sending messages"}),(0,jt.jsx)("li",{children:"Disclosing message frequency and nature of messages at the point of opt-in"}),(0,jt.jsx)("li",{children:"Providing clear opt-out instructions in every message"}),(0,jt.jsx)("li",{children:"Maintaining records of End User consent"}),(0,jt.jsx)("li",{children:"Complying with all applicable laws including the Australian Spam Act 2003, Privacy Act 1988, and ACMA guidelines"}),(0,jt.jsx)("li",{children:"Promptly honouring all opt-out requests"})]}),(0,jt.jsx)("p",{children:"Clients who fail to meet these standards are subject to immediate account suspension and may be reported to carriers or regulators."})]}),(0,jt.jsxs)("div",{className:"compliance-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"10. Contact & Compliance Requests"}),(0,jt.jsx)("p",{children:"For compliance documentation, carrier verification requests, or general enquiries about our SMS policies:"}),(0,jt.jsxs)("div",{className:"contact-info",children:[(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"DataFlows Australia Pty Ltd"})}),(0,jt.jsx)("p",{children:"ABN: 23 685 656 893"}),(0,jt.jsxs)("p",{children:["Email: ",(0,jt.jsx)("a",{href:"mailto:[email protected]",children:"[email protected]"})]}),(0,jt.jsxs)("p",{children:["Website: ",(0,jt.jsx)("a",{href:"https://dataflows.com.au",children:"https://dataflows.com.au"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)(fe,{to:"/contact-us",children:"Contact Us Form \u2192"})})]})]})]}),(0,jt.jsxs)("div",{className:"compliance-related","data-aos":"fade-up",children:[(0,jt.jsx)("h3",{children:"Related Policies"}),(0,jt.jsxs)("div",{className:"related-links",children:[(0,jt.jsx)(fe,{to:"/terms-of-use",className:"related-link",children:"Terms of Use"}),(0,jt.jsx)(fe,{to:"/privacy-policy",className:"related-link",children:"Privacy Policy"}),(0,jt.jsx)(fe,{to:"/contact-us",className:"related-link",children:"Contact Us"})]})]})]})}),(0,jt.jsx)(bt,{})]})},fh=()=>(0,jt.jsxs)("div",{className:"about-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"About DataFlows | Australian SMS Marketing Platform"}),(0,jt.jsx)("meta",{name:"description",content:"DataFlows is an Australian SMS marketing and automation platform built for businesses that want a simpler, more direct way to communicate with their customers."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/about")}),(0,jt.jsx)("meta",{property:"og:title",content:"About DataFlows | Australian SMS Marketing Platform"}),(0,jt.jsx)("meta",{property:"og:description",content:"DataFlows is an Australian SMS marketing and automation platform built for businesses that want a simpler, more direct way to communicate with their customers."}),(0,jt.jsx)("meta",{property:"og:url",content:"https://dataflows.com.au/about"}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"AboutPage",url:"https://dataflows.com.au/about",name:"About DataFlows",description:"DataFlows is an Australian SMS marketing and automation platform built for businesses that want a simpler, more direct way to communicate with their customers.",breadcrumb:{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"About",item:"https://dataflows.com.au/about"}]}})})]}),(0,jt.jsxs)("header",{className:"about-header",children:[(0,jt.jsx)(fe,{to:"/",className:"about-logo-link",children:(0,jt.jsx)("img",{alt:"DataFlows Logo",src:"/dataflows-high-resolution-logo-200h.png",className:"about-logo"})}),(0,jt.jsxs)("nav",{className:"about-nav",children:[(0,jt.jsx)(fe,{to:"/",className:"about-nav-link",children:"Home"}),(0,jt.jsx)(fe,{to:"/blog",className:"about-nav-link",children:"Blog"}),(0,jt.jsx)(fe,{to:"/contact-us",className:"about-nav-link",children:"Contact"})]})]}),(0,jt.jsx)("div",{className:"about-breadcrumbs",children:(0,jt.jsx)("div",{className:"about-breadcrumbs-inner",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"About"}]})})}),(0,jt.jsx)("section",{className:"about-hero",children:(0,jt.jsxs)("div",{className:"about-hero-inner",children:[(0,jt.jsx)("p",{className:"about-hero-label",children:"About Us"}),(0,jt.jsx)("h1",{className:"about-hero-title",children:"Built in Australia, for Australian businesses"}),(0,jt.jsx)("p",{className:"about-hero-subtitle",children:"DataFlows started with a straightforward idea: SMS is one of the most reliable ways to reach a customer, and it should be easy for any business to use it well."})]})}),(0,jt.jsx)("section",{className:"about-story",children:(0,jt.jsx)("div",{className:"about-section-inner",children:(0,jt.jsxs)("div",{className:"about-story-content",children:[(0,jt.jsx)("h2",{children:"Our story"}),(0,jt.jsx)("p",{children:"We built DataFlows because we kept seeing the same problem. Businesses knew SMS worked, open rates are consistently above 90%, yet the tools available were either too expensive, too complicated, or not built with Australian compliance requirements in mind."}),(0,jt.jsx)("p",{children:"So we built something that fixes that. DataFlows is a platform designed around the workflows that Australian businesses actually use, from appointment reminders and promotional campaigns to two-factor authentication and automated notifications. Everything is built to comply with the Spam Act 2003 and ACMA guidelines from the ground up, not as an afterthought."}),(0,jt.jsx)("p",{children:"We are a proudly Australian company, and our platform is used by businesses across healthcare, retail, real estate, hospital
2ity, and professional services throughout Australia."})]})})}),(0,jt.jsx)("section",{className:"about-values",children:(0,jt.jsxs)("div",{className:"about-section-inner",children:[(0,jt.jsx)("h2",{className:"about-section-title",children:"What we stand for"}),(0,jt.jsxs)("div",{className:"about-values-grid",children:[(0,jt.jsxs)("div",{className:"about-value-card",children:[(0,jt.jsx)("h3",{children:"Simplicity"}),(0,jt.jsx)("p",{children:"Sending a bulk SMS campaign or setting up an automated workflow should not require a developer or a week of onboarding. We keep the platform straightforward so your team can get going on day one."})]}),(0,jt.jsxs)("div",{className:"about-value-card",children:[(0,jt.jsx)("h3",{children:"Reliability"}),(0,jt.jsx)("p",{children:"When you send an SMS, it needs to arrive. We work with carrier-grade infrastructure and provide real-time delivery tracking so you always know the status of every message."})]}),(0,jt.jsxs)("div",{className:"about-value-card",children:[(0,jt.jsx)("h3",{children:"Compliance"}),(0,jt.jsx)("p",{children:"Australian SMS law is specific about consent, opt-outs, and sender identification. DataFlows handles the technical side of compliance so you can focus on your messaging without worrying about the fine print."})]}),(0,jt.jsxs)("div",{className:"about-value-card",children:[(0,jt.jsx)("h3",{children:"Integration"}),(0,jt.jsx)("p",{children:"Your business already uses tools you rely on. DataFlows connects with Zapier, Microsoft Power Automate, Microsoft Teams, Auth0, Supabase, and your email client, so SMS fits into your existing workflow rather than replacing it."})]})]})]})}),(0,jt.jsx)("section",{className:"about-platform",children:(0,jt.jsxs)("div",{className:"about-section-inner",children:[(0,jt.jsx)("h2",{className:"about-section-title",children:"The platform"}),(0,jt.jsx)("p",{className:"about-platform-intro",children:"DataFlows gives you everything you need to run SMS communication at any scale, whether you are a small business sending a few hundred messages a month or a larger operation running high-volume automated campaigns."}),(0,jt.jsxs)("div",{className:"about-features-grid",children:[(0,jt.jsxs)("div",{className:"about-feature-item",children:[(0,jt.jsx)("h4",{children:"Bulk SMS"}),(0,jt.jsx)("p",{children:"Send personalised messages to your entire contact list in seconds, with branded sender IDs so recipients know exactly who the message is from."})]}),(0,jt.jsxs)("div",{className:"about-feature-item",children:[(0,jt.jsx)("h4",{children:"SMS API"}),(0,jt.jsx)("p",{children:"Integrate SMS directly into your application with our REST API. Send transactional messages, delivery confirmations, and notifications programmatically."})]}),(0,jt.jsxs)("div",{className:"about-feature-item",children:[(0,jt.jsx)("h4",{children:"Two-Factor Authentication"}),(0,jt.jsx)("p",{children:"Add an extra layer of security to your platform with SMS-based OTP verification. We are an official Auth0 Marketplace partner for SMS MFA."})]}),(0,jt.jsxs)("div",{className:"about-feature-item",children:[(0,jt.jsx)("h4",{children:"Automated Reminders"}),(0,jt.jsx)("p",{children:"Reduce no-shows and keep customers informed with scheduled SMS reminders for appointments, bookings, and deadlines."})]}),(0,jt.jsxs)("div",{className:"about-feature-item",children:[(0,jt.jsx)("h4",{children:"Workflow Automation"}),(0,jt.jsx)("p",{children:"Connect SMS to over 6,000 apps through Zapier or build complex automated workflows in Microsoft Power Automate without writing a line of code."})]}),(0,jt.jsxs)("div",{className:"about-feature-item",children:[(0,jt.jsx)("h4",{children:"Analytics"}),(0,jt.jsx)("p",{children:"Track delivery rates, open windows, and campaign performance in real time so you can see what is working and improve over time."})]})]})]})}),(0,jt.jsx)("section",{className:"about-trust",children:(0,jt.jsxs)("div",{className:"about-section-inner",children:[(0,jt.jsx)("h2",{className:"about-section-title",children:"Trusted partnerships"}),(0,jt.jsx)("p",{children:"DataFlows is an official partner on the Auth0 Marketplace, listed on Microsoft AppSource, and a published integration on Zapier. These partnerships mean our platform has been reviewed and verified by the organisations that built the tools you already use."}),(0,jt.jsxs)("div",{className:"about-badges",children:[(0,jt.jsx)("div",{className:"about-badge",children:"Official Auth0 Marketplace Partner"}),(0,jt.jsx)("div",{className:"about-badge",children:"Microsoft AppSource Listed"}),(0,jt.jsx)("div",{className:"about-badge",children:"Zapier Integration"}),(0,jt.jsx)("div",{className:"about-badge",children:"ACMA Compliant"})]})]})}),(0,jt.jsx)("section",{className:"about-cta",children:(0,jt.jsxs)("div",{className:"about-section-inner",children:[(0,jt.jsx)("h2",{children:"Ready to get started?"}),(0,jt.jsx)("p",{children:"Pay-as-you-go from $35 AUD, with no monthly fees, no lock-in contracts and no setup fees. Create an account and send your first SMS in minutes."}),(0,jt.jsxs)("div",{className:"about-cta-buttons",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noopener noreferrer",className:"about-cta-primary",children:"Create a free account"}),(0,jt.jsx)(fe,{to:"/contact-us",className:"about-cta-secondary",children:"Talk to us first"})]})]})}),(0,jt.jsx)(bt,{})]}),gh=()=>(0,jt.jsxs)("div",{className:"sid-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"SMS Sender ID Registration Australia \u2014 What You Need to Know | DataFlows"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/sender-id-registration")}),(0,jt.jsx)("meta",{name:"description",content:"ACMA requires all Australian SMS sender IDs to be registered from 1 July 2026. DataFlows submits on your behalf \u2014 learn what information you need to provide and what to do when ACMA emails you."}),(0,jt.jsx)("meta",{name:"keywords",content:"SMS Sender ID Registration Australia, ACMA Sender ID Register, SMS sender ID 2026, Australian SMS compliance, myID ACMA, Sender ID unverified Australia"}),(0,jt.jsx)("meta",{property:"og:title",content:"SMS Sender ID Registration Australia \u2014 What You Need to Know | DataFlows"}),(0,jt.jsx)("meta",{property:"og:description",content:"From 1 July 2026, unregistered sender IDs will be labelled 'Unverified' by Australian carriers. DataFlows registers on your behalf \u2014 here's how it works."}),(0,jt.jsx)("meta",{property:"og:type",content:"article"}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"Article",headline:"SMS Sender ID Registration \u2014 What You Need to Know",description:"ACMA requires all SMS sender IDs used by Australian businesses to be registered from 1 July 2026. DataFlows submits on your behalf \u2014 here's what you need to do.",datePublished:"2025-11-01",dateModified:"2026-06-01",author:{"@type":"Organization",name:"DataFlows SMS",url:"https://dataflows.com.au"},image:{"@type":"ImageObject",url:"https://dataflows.com.au/dataflows-high-resolution-logo-200h.png",width:1200,height:630},publisher:{"@type":"Organization",name:"DataFlows SMS",url:"https://dataflows.com.au",logo:{"@type":"ImageObject",url:"https://dataflows.com.au/dataflows-high-resolution-logo-200h.png"}},mainEntityOfPage:{"@type":"WebPage","@id":"https://dataflows.com.au/sender-id-registration"}})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What happens if my sender ID is not registered by 1 July 2026?",acceptedA
2nswer:{"@type":"Answer",text:'From 1 July 2026, any SMS sent with an unregistered sender ID will be automatically labelled "Unverified" by Australian mobile carriers (Telstra, Optus, Vodafone). Your customers will see this warning label on your messages, which can reduce trust and open rates.'}},{"@type":"Question",name:"Does DataFlows handle the ACMA registration for me?",acceptedAnswer:{"@type":"Answer",text:"Yes. DataFlows submits the registration application to ACMA on your behalf. You do not need to navigate the ACMA portal yourself. After we submit, ACMA will email your nominated contact directly to complete the confirmation step via myID."}},{"@type":"Question",name:"What is myID and why do I need it?",acceptedAnswer:{"@type":"Answer",text:"myID (myid.gov.au) is the Australian Government's digital identity app. It is used to securely verify your identity when accessing government portals including ACMA Assist. Your authorised representative must have a myID account set up before they can confirm the registration."}},{"@type":"Question",name:"Who is the authorised representative?",acceptedAnswer:{"@type":"Answer",text:"The authorised representative must be listed on the Australian Business Register (ABR) for your ABN \u2014 typically a director, public officer, or registered business contact. Their myID email address must match the contact email on the ABR."}}]})})]}),(0,jt.jsx)(_t,{}),(0,jt.jsx)("div",{className:"sid-breadcrumbs",children:(0,jt.jsx)("div",{className:"sid-inner",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"SMS Sender ID Registration"}]})})}),(0,jt.jsx)("div",{className:"sid-deadline-banner",children:(0,jt.jsx)("div",{className:"sid-inner",children:(0,jt.jsxs)("div",{className:"sid-deadline-content",children:[(0,jt.jsx)("span",{className:"sid-deadline-icon",children:"\u26a0\ufe0f"}),(0,jt.jsxs)("div",{children:[(0,jt.jsx)("strong",{children:"Action required before 1 July 2026"}),(0,jt.jsx)("span",{children:'From this date, unregistered sender IDs will be labelled "Unverified" by Australian mobile carriers. Register now to protect your sender reputation.'})]})]})})}),(0,jt.jsx)("section",{className:"sid-hero",children:(0,jt.jsxs)("div",{className:"sid-inner",children:[(0,jt.jsxs)("div",{className:"sid-hero-badge",children:[(0,jt.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,jt.jsx)("path",{d:"M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),"ACMA-Registered Originating Telco"]}),(0,jt.jsxs)("h1",{className:"sid-hero-title",children:["SMS Sender ID Registration",(0,jt.jsx)("br",{}),"\u2014 What You Need to Know"]}),(0,jt.jsx)("p",{className:"sid-hero-subtitle",children:"The Australian Government is introducing a mandatory SMS Sender ID Register as a new anti-scam initiative. DataFlows handles the ACMA submission for you \u2014 this page explains what happens next and what we need from you."})]})}),(0,jt.jsx)("div",{className:"sid-main",children:(0,jt.jsxs)("div",{className:"sid-inner sid-content-layout",children:[(0,jt.jsxs)("section",{className:"sid-section",id:"why",children:[(0,jt.jsx)("div",{className:"sid-section-number",children:"1"}),(0,jt.jsxs)("div",{className:"sid-section-body",children:[(0,jt.jsx)("h2",{children:"Why this is happening"}),(0,jt.jsx)("p",{children:"The Australian Government is introducing a mandatory SMS Sender ID Register as a new anti-scam initiative run by ACMA (the Australian Communications and Media Authority)."}),(0,jt.jsxs)("p",{children:["From ",(0,jt.jsx)("strong",{children:"1 July 2026"}),", any SMS message sent using an unregistered sender ID will be automatically labelled ",(0,jt.jsx)("strong",{children:'"Unverified"'})," by Australian mobile carriers \u2014 Telstra, Optus, and Vodafone. This means your customers may see a warning label on your messages before they even open them."]}),(0,jt.jsx)("p",{children:"To avoid this, your sender ID must be registered before that date. The good news: DataFlows handles the technical submission to ACMA on your behalf."})]})]}),(0,jt.jsx)("div",{className:"sid-divider"}),(0,jt.jsxs)("section",{className:"sid-section",id:"what-dataflows-does",children:[(0,jt.jsx)("div",{className:"sid-section-number",children:"2"}),(0,jt.jsxs)("div",{className:"sid-section-body",children:[(0,jt.jsx)("h2",{children:"What DataFlows does for you"}),(0,jt.jsx)("p",{children:"As your SMS provider and an ACMA-registered Originating Telco, DataFlows submits the Sender ID registration application to ACMA on your behalf."}),(0,jt.jsx)("p",{children:"You don't need to navigate the ACMA portal yourself to start the process \u2014 we handle the technical submission. All you need to do is provide your business details through your DataFlows account (see Section 5 for the full list)."}),(0,jt.jsxs)("div",{className:"sid-highlight-box",children:[(0,jt.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,jt.jsx)("path",{d:"M13 16H12V12H11M12 8H12.01M21 12C2
21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,jt.jsx)("p",{children:"After we submit, ACMA will contact your nominated business representative directly by email to confirm the registration. You must complete this confirmation step \u2014 DataFlows cannot do it for you."})]})]})]}),(0,jt.jsx)("div",{className:"sid-divider"}),(0,jt.jsxs)("section",{className:"sid-section",id:"confirmation-steps",children:[(0,jt.jsx)("div",{className:"sid-section-number",children:"3"}),(0,jt.jsxs)("div",{className:"sid-section-body",children:[(0,jt.jsx)("h2",{children:"What you need to do after DataFlows submits"}),(0,jt.jsx)("p",{children:"Once we submit your application, ACMA will send a confirmation email to your nominated contact person. Here's exactly what to do when that email arrives:"}),(0,jt.jsxs)("div",{className:"sid-steps",children:[(0,jt.jsxs)("div",{className:"sid-step",children:[(0,jt.jsx)("div",{className:"sid-step-num",children:"1"}),(0,jt.jsxs)("div",{className:"sid-step-content",children:[(0,jt.jsx)("h3",{children:"Click the link in the ACMA email"}),(0,jt.jsxs)("p",{children:["The email from ACMA contains a direct link to the correct page in the ACMA Assist portal. ",(0,jt.jsx)("strong",{children:"Use this link \u2014 do not try to navigate to ACMA Assist manually."})," The link takes you directly to your pre-filled registration."]})]})]}),(0,jt.jsxs)("div",{className:"sid-step",children:[(0,jt.jsx)("div",{className:"sid-step-num",children:"2"}),(0,jt.jsxs)("div",{className:"sid-step-content",children:[(0,jt.jsx)("h3",{children:"Log in using myID"}),(0,jt.jsxs)("p",{children:["ACMA Assist uses ",(0,jt.jsx)("strong",{children:"myID"})," \u2014 the Australian Government's digital identity app \u2014 to verify who you are. You'll need to have myID set up before you can log in. If you haven't set it up yet, see Section 7 below."]})]})]}),(0,jt.jsxs)("div",{className:"sid-step",children:[(0,jt.jsx)("div",{className:"sid-step-num",children:"3"}),(0,jt.jsxs)("div",{className:"sid-step-content",children:[(0,jt.jsx)("h3",{children:"The person logging in must be an authorised representative"}),(0,jt.jsxs)("p",{children:["ACMA requires the person confirming the registration to be an authorised representative of the business as listed on the ",(0,jt.jsx)("strong",{children:"Australian Business Register (ABR)"})," \u2014 such as a director or public officer. Their myID email must match the ABR contact email for your ABN."]}),(0,jt.jsx)("p",{children:"If your ABR details are out of date, ACMA cannot confirm the registration (see Section 4)."})]})]}),(0,jt.jsxs)("div",{className:"sid-step",children:[(0,jt.jsx)("div",{className:"sid-step-num",children:"4"}),(0,jt.jsxs)("div",{className:"sid-step-content",children:[(0,jt.jsx)("h3",{children:"Confirm the registration in ACMA Assist"}),(0,jt.jsxs)("p",{children:["Your sender ID details will be pre-filled. You simply select the applicable use case (e.g. Registered Business Name, Registered Domain Name) and click ",(0,jt.jsx)("strong",{children:"Save"}),". That's it \u2014 your sender ID is registered."]})]})]})]})]})]}),(0,jt.jsx)("div",{className:"sid-divider"}),(0,jt.jsxs)("section",{className:"sid-section",id:"abr",children:[(0,jt.jsx)("div",{className:"sid-section-number",children:"4"}),(0,jt.jsxs)("div",{className:"sid-section-body",children:[(0,jt.jsx)("h2",{children:"Before we submit \u2014 check your ABR details are up to date"}),(0,jt.jsx)("p",{children:"ACMA is seeing delays in registrations because many businesses have outdated information on the Australian Business Register. If the authorised representative's details on the ABR don't match, ACMA cannot confirm the registration."}),(0,jt.jsx)("p",{children:(0,jt.jsxs)("strong",{children:["Before providing your details to DataFlows, check that your ABR listing is current at ",(0,jt.jsx)("a",{href:"https://abr.business.gov.au",target:"_blank",rel:"noopener noreferrer",children:"abr.business.gov.au"}),"."]})}),(0,jt.jsxs)("div",{className:"sid-checklist",children:[(0,jt.jsxs)("div",{className:"sid-checklist-item",children:[(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M9 12L11 14L15 10M21 12C2
21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"#5228f5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,jt.jsx)("span",{children:"The contact email on the ABR must match the myID account of the person who will confirm the registration"})]}),(0,jt.jsxs)("div",{className:"sid-checklist-item",children:[(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"#5228f5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,jt.jsx)("span",{children:"The authorised representative must be listed on the ABR for your ABN (director, public officer, or registered contact)"})]}),(0,jt.jsxs)("div",{className:"sid-checklist-item",children:[(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z",stroke:"#5228f5",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),(0,jt.jsx)("span",{children:"Updating ABR details can take several business days \u2014 don't leave it until the last minute"})]})]})]})]}),(0,jt.jsx)("div",{className:"sid-divider"}),(0,jt.jsxs)("section",{className:"sid-section",id:"information-required",children:[(0,jt.jsx)("div",{className:"sid-section-number",children:"5"}),(0,jt.jsxs)("div",{className:"sid-section-body",children:[(0,jt.jsx)("h2",{children:"What information you need to provide to DataFlows"}),(0,jt.jsx)("p",{children:"To submit your registration, we'll need the following details from you. You can provide these through your DataFlows account or by contacting our support team."}),(0,jt.jsxs)("div",{className:"sid-info-grid",children:[(0,jt.jsxs)("div",{className:"sid-info-card",children:[(0,jt.jsx)("div",{className:"sid-info-label",children:"Business details"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"ABN"}),(0,jt.jsx)("li",{children:"Legal business name"}),(0,jt.jsx)("li",{children:"Trading name (if different from legal name)"}),(0,jt.jsx)("li",{children:"Business address"}),(0,jt.jsx)("li",{children:"Business phone number"}),(0,jt.jsxs)("li",{children:["Business website URL ",(0,jt.jsx)("span",{className:"sid-note",children:"(required by ACMA \u2014 a social media profile is acceptable if you have no website)"})]})]})]}),(0,jt.jsxs)("div",{className:"sid-info-card",children:[(0,jt.jsx)("div",{className:"sid-info-label",children:"Contact person"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Full name"}),(0,jt.jsxs)("li",{children:["Email address ",(0,jt.jsx)("span",{className:"sid-note",children:"(must match the ABR contact email)"})]}),(0,jt.jsx)("li",{children:"Phone number"})]}),(0,jt.jsx)("div",{className:"sid-info-label",style:{marginTop:"20px"},children:"Sender ID details"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Your sender ID (e.g. your business name as it appears in SMS)"}),(0,jt.jsxs)("li",{children:["Use case ",(0,jt.jsx)("span",{className:"sid-note",children:"(e.g. Registered Business Name, Registered Domain Name)"})]})]})]})]})]})]}),(0,jt.jsx)("div",{className:"sid-divider"}),(0,jt.jsxs)("section",{className:"sid-section",id:"timeline",children:[(0,jt.jsx)("div",{className:"sid-section-number",children:"6"}),(0,jt.jsxs)("div",{className:"sid-section-body",children:[(0,jt.jsx)("h2",{children:"Timeline"}),(0,jt.jsxs)("p",{children:["The deadline is ",(0,jt.jsx)("strong",{children:"1 July 2026"}),". We strongly recommend submitting your details to DataFlows as soon as possible."]}),(0,jt.jsxs)("div",{className:"sid-timeline",children:[(0,jt.jsxs)("div",{className:"sid-timeline-item sid-timeline-done",children:[(0,jt.jsx)("div",{className:"sid-timeline-dot"}),(0,jt.jsxs)("div",{className:"sid-timeline-content",children:[(0,jt.jsx)("strong",{children:"Now"}),(0,jt.jsx)("span",{children:"Check your ABR details are current. Set up myID if you haven't already."})]})]}),(0,jt.jsxs)("div",{className:"sid-timeline-item",children:[(0,jt.jsx)("div",{className:"sid-timeline-dot"}),(0,jt.jsxs)("div",{className:"sid-timeline-content",children:[(0,jt.jsx)("strong",{children:"Provide details to DataFlows"}),(0,jt.jsx)("span",{children:"Submit your business information via your DataFlows account or by contacting support."})]})]}),(0,jt.jsxs)("div",{className:"sid-timeline-item",children:[(0,jt.jsx)("div",{className:"sid-timeline-dot"}),(0,jt.jsxs)("div",{className:"sid-timeline-content",children:[(0,jt.jsx)("strong",{children:"DataFlows submits to ACMA"}),(0,jt.jsx)("span",{children:"We lodge the registration application on your behalf."})]})]}),(0,jt.jsxs)("div",{className:"sid-timeline-item",children:[(0,jt.jsx)("div",{className:"sid-timeline-dot"}),(0,jt.jsxs)("div",{className:"sid-timeline-content",children:[(0,jt.jsx)("strong",{children:"You receive ACMA confirmation email"}),(0,jt.jsx)("span",{children:"Click the link, log in with myID, confirm your registration in ACMA Assist."})]})]}),(0,jt.jsxs)("div",{className:"sid-timeline-item sid-timeline-deadline",children:[(0,jt.jsx)("div",{className:"sid-timeline-dot"}),(0,jt.jsxs)("div",{className:"sid-timeline-content",children:[(0,jt.jsx)("strong",{children:"1 July 2026 \u2014 Deadline"}),(0,jt.jsx)("span",{children:'Unregistered sender IDs will be labelled "Unverified" from this date.'})]})]})]})]})]}),(0,jt.jsx)("div",{className:"sid-divider"}),(0,jt.jsxs)("section",{className:"sid-section",id:"myid",children:[(0,jt.jsx)("div",{className:"sid-section-number",children:"7"}),(0,jt.jsxs)("div",{className:"sid-section-body",children:[(0,jt.jsx)("h2",{children:"Haven't set up myID yet?"}),(0,jt.jsx)("p",{children:"myID is the Australian Government's digital identity app. Your authorised representative needs it to log in and confirm the ACMA registration \u2014 without it, they cannot complete the process."}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Set it up now so you're ready when the ACMA confirmation email arrives."})," Don't wait until you receive the email \u2014 myID verification can take a little time if you need to provide identity documents."]}),(0,jt.jsxs)("a",{href:"https://www.myid.gov.au",target:"_blank",rel:"noopener noreferrer",className:"sid-external-link",children:["Set up myID at myid.gov.au",(0,jt.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M10 6H6C4.89543 6 4 6.89543 4 8V18C4 19.1046 4.89543 20 6 20H16C17.1046 20 18 19.1046 18 18V14M14 4H20M20 4V10M20 4L10 14",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]})]})]}),(0,jt.jsx)("div",{className:"sid-divider"}),(0,jt.jsxs)("section",{className:"sid-section",id:"faq",children:[(0,jt.jsx)("div",{className:"sid-section-number",style:{visibility:"hidden"},children:"8"}),(0,jt.jsxs)("div",{className:"sid-section-body",children:[(0,jt.jsx)("h2",{children:"Common questions"}),(0,jt.jsxs)("div",{className:"sid-faqs",children:[(0,jt.jsxs)("div",{className:"sid-faq",children:[(0,jt.jsx)("h3",{children:"What happens if my sender ID is not registered by 1 July 2026?"}),(0,jt.jsx)("p",{children:'Your SMS messages will be automatically labelled "Unverified" by Telstra, Optus, and Vodafone. Customers will see this warning, which can reduce trust and may lower your open and response rates.'})]}),(0,jt.jsxs)("div",{className:"sid-faq",children:[(0,jt.jsx)("h3",{children:"Can I register multiple sender IDs?"}),(0,jt.jsx)("p",{children:"Yes. If your business uses more than one sender ID, each one needs to be registered separately. Contact DataFlows support and we'll handle each submission."})]}),(0,jt.jsxs)("div",{className:"sid-faq",children:[(0,jt.jsx)("h3",{children:"What if my authorised representative has changed?"}),(0,jt.jsxs)("p",{children:["Update your ABR details first at ",(0,jt.jsx)("a",{href:"https://abr.business.gov.au",target:"_blank",rel:"noopener noreferrer",children:"abr.business.gov.au"}),", then let us know when you provide your registration details. The person confirming with ACMA must match the ABR at the time of submission."]})]}),(0,jt.jsxs)("div",{className:"sid-faq",children:[(0,jt.jsx)("h3",{children:"Does this affect all Australian businesses sending SMS?"}),(0,jt.jsx)("p",{children:"Yes \u2014 any business using an alphanumeric sender ID (your business name instead of a number) in Australia must register it. This applies regardless of which SMS provider you use. As your provider, DataFlows manages the ACMA submission step for you."})]})]})]})]})]})}),(0,jt.jsx)("section",{className:"sid-cta",children:(0,jt.jsxs)("div",{className:"sid-inner",children:[(0,jt.jsx)("h2",{children:"Ready to get your sender ID registered?"}),(0,jt.jsx)("p",{children:"Contact our support team and we'll walk you through the process. Don't leave it until June \u2014 allow time for ABR updates and ACMA processing."}),(0,jt.jsxs)("div",{className:"sid-cta-buttons",children:[(0,jt.jsx)(fe,{to:"/contact-us",className:"sid-btn-primary",children:"Contact DataFlows support"}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noopener noreferrer",className:"sid-btn-outline",children:"Log in to your account"})]}),(0,jt.jsx)("p",{className:"sid-cta-deadline",children:"Deadline: 1 July 2026"})]})}),(0,jt.jsx)(bt,{})]}),yh=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);return(0,jt.jsxs)("div",{className:"zapier-feature-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Analyse SMS Sentiment With AI - DataFlows Zapier | SMS Sentiment Analysis Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Automate SMS sentiment analysis for Australian businesses with DataFlows and Zapier. Detect angry customers, identify happy customers for reviews, and track sentiment trends. AI-powered, instant webhooks, 85-92% accuracy."}),(0,jt.jsx)("meta",{name:"keywords",content:"SMS sentiment analysis Australia, AI sentiment detection, SMS automation Australia, customer sentiment tracking, SMS API Australia, Zapier SMS sentiment, angry customer detection, review request automation"}),(0,jt.jsx)("meta",{property:"og:title",content:"AI SMS Sentiment Analysis for Australian Businesses - DataFlows Zapier"}),(0,jt.jsx)("meta",{property:"og:description",content:"Automatically analyse customer sentiment in SMS messages. Route angry customers to priority support, request reviews from happy customers, track trends."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/zapier/actions/analyse-sentiment-ai")})]}),(0,jt.jsx)("div",{className:"feature-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Zapier",path:"/integrations/zapier"},{label:"Analyse SMS Sentiment With AI"}]})})}),(0,jt.jsx)("section",{className:"feature-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("div",{className:"hero-badge",children:"AI-Powered Action"}),(0,jt.jsx)("h1",{children:"Analyse SMS Sentiment With AI"}),(0,jt.jsx)("p",{className:"hero-subtitle",children:"Automatically detect customer emotions in SMS messages. Route angry customers to priority support, identify happy customers for review requests, and track sentiment trends across your Australian business."}),(0,jt.jsxs)("div",{className:"hero-stats",children:[(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"85-92%"}),(0,jt.jsx)("div",{className:"stat-label",children:"Accuracy Rate"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"<2s"}),(0,jt.jsx)("div",{className:"stat-label",children:"Analysis Time"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"3"}),(0,jt.jsx)("div",{className:"stat-label",children:"Sentiment Types"})]})]})]})}),(0,jt.jsx)("section",{className:"feature-overview","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"What Is SMS Sentiment Analysis?"}),(0,jt.jsx)("p",{className:"section-intro",children:"SMS sentiment analysis uses advanced AI to automatically understand the emotion behind customer text messages. Instead of manually reading and categorising every SMS, our AI instantly detects whether a customer is happy, angry, or neutral\u2014helping Australian businesses respond faster and more appropriately."}),(0,jt.jsxs)("div",{className:"overview-grid",children:[(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\ude0a"}),(0,jt.jsx)("h3",{children:"Positive Sentiment"}),(0,jt.jsx)("p",{children:"Detects happy, satisfied, and grateful customers. Perfect for requesting reviews, upselling products, or gathering testimonials."}),(0,jt.jsxs)("div",{className:"emotion-tags",children:[(0,jt.jsx)("span",{children:"Happy"}),(0,jt.jsx)("span",{children:"Excited"}),(0,jt.jsx)("span",{children:"Grateful"}),(0,jt.jsx)("span",{children:"Satisfied"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\ude20"}),(0,jt.jsx)("h3",{children:"Negative Sentiment"}),(0,jt.jsx)("p",{children:"Identifies angry, frustrated, or disappointed customers. Route to senior support, offer compensation, or escalate immediately."}),(0,jt.jsxs)("div",{className:"emotion-tags negative",children:[(0,jt.jsx)("span",{children:"Angry"}),(0,jt.jsx)("span",{children:"Frustrated"}),(0,jt.jsx)("span",{children:"Disappointed"}),(0,jt.jsx)("span",{children:"Worried"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\ude10"}),(0,jt.jsx)("h3",{children:"Neutral Sentiment"}),(0,jt.jsx)("p",{children:"Detects informational, factual messages with no strong emotion. Handle with standard workflows and response times."}),(0,jt.jsxs)("div",{className:"emotion-tags neutral",children:[(0,jt.jsx)("span",{children:"Informational"}),(0,jt.jsx)("span",{children:"Enquiry"}),(0,jt.jsx)("span",{children:"Factual"}),(0,jt.jsx)("span",{children:"Professional"})]})]})]})]})}),(0,jt.jsx)("section",{className:"how-it-works","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How Sentiment Analysis Works in Zapier"}),(0,jt.jsx)("p",{className:"section-intro",children:"DataFlows SMS integrates with Zapier to provide instant, AI-powered sentiment analysis for every SMS message your Australian business receives."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"1"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Customer Sends SMS"}),(0,jt.jsx)("p",{children:"A customer texts your Australian business number with feedback, a question, or a complaint."}),(0,jt.jsxs)("div",{className:"code-example",children:["From: +61412345678",(0,jt.jsx)("br",{}),"To: +61400123456",(0,jt.jsx)("br",{}),'Message: "This is ridiculous! My order still hasn\'t arrived after 2 weeks!"']})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"2"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"DataFlows Receives SMS"}),(0,jt.jsx)("p",{children:"DataFlows SMS platform receives the message and instantly triggers your Zapier workflow via webhook (no polling delay)."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"3"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"AI Analyses Sentiment"}),(0,jt.jsx)("p",{children:'The "An
2alyse SMS Sentiment With AI" action processes the message and returns detailed results.'}),(0,jt.jsxs)("div",{className:"code-example",children:['sentiment: "negative"',(0,jt.jsx)("br",{}),'emotion: "angry"',(0,jt.jsx)("br",{}),"confidence: 0.92",(0,jt.jsx)("br",{}),'tone: "urgent"',(0,jt.jsx)("br",{}),'reasoning: "Customer expresses frustration about delayed order"']})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"4"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Take Action Based on Sentiment"}),(0,jt.jsx)("p",{children:"Use Zapier filters and paths to route the conversation appropriately."}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Negative \u2192 Create urgent support ticket"}),(0,jt.jsx)("li",{children:"Positive \u2192 Request review or testimonial"}),(0,jt.jsx)("li",{children:"Neutral \u2192 Standard response workflow"})]})]})]})]})]})}),(0,jt.jsx)("section",{className:"use-cases-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Real-World Use Cases for Australian Businesses"}),(0,jt.jsx)("p",{className:"section-intro",children:"See how Australian businesses use SMS sentiment analysis to improve customer satisfaction, increase reviews, and identify issues before they escalate."}),[{title:"Priority Support Queue for Negative Sentiment",industry:"Customer Support",description:"Automatically route angry or frustrated customers to senior support agents for immediate attention.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'This is ridiculous! My order still hasn't arrived!'","AI analyses sentiment \u2192 Result: Negative (Angry, Confidence: 0.92)","Filter: Only continue if sentiment = 'negative' AND confidence > 0.7","Create urgent Zendesk ticket with priority: High","Send Slack notification to @senior-support team","Auto-reply: 'We're sorry! A senior agent will contact you within 15 minutes.'"],keywords:"SMS sentiment analysis Australia, customer service automation, angry customer detection"},{title:"Happy Customer Review Requests",industry:"E-commerce & Retail",description:"Request reviews from satisfied customers while they're in a positive mood.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'Just received my order! Love it, thank you!'","AI analyses sentiment \u2192 Result: Positive (Happy, Confidence: 0.88)","Filter: Only continue if sentiment = 'positive'","Wait 5 minutes (gives them time to enjoy the product)","Send SMS: 'So glad you love it! Mind leaving us a quick review? [link]'","Track review completion in Google Sheets"],keywords:"review request automation, positive customer feedback, SMS marketing Australia"},{title:"Sentiment Dashboard for Australian Businesses",industry:"Analytics & Reporting",description:"Track customer sentiment trends over time to improve products and services.",trigger:"DataFlows SMS - New SMS Received",steps:["Every incoming SMS is analysed for sentiment","Data is logged to Google Sheets: Date, From, Message, Sentiment, Emotion, Confidence","Google Data Studio dashboard visualises trends","Weekly report emailed to management","Identify patterns: 'Delivery complaints spike on Fridays'","Take action to improve service"],keywords:"customer sentiment tracking, SMS analytics Australia, business intelligence"},{title:"VIP Customer Alert System",industry:"Hospitality & Luxury Retail",description:"Alert managers immediately when VIP customers express dissatisfaction.",trigger:"DataFlows SMS - New SMS Received",steps:["VIP customer (from premium contact group) sends SMS","AI analyses sentiment \u2192 Result: Negative","Immediately send SMS to store manager: '\u26a0\ufe0f VIP Jane Smith unhappy: [message]'","Create task in Asana for manager follow-up","Log interaction in HubSpot CRM","Auto-reply offering personal manager callback"],keywords:"VIP customer management, luxury retail SMS, personalised service Australia"},{title:"Product Feedback Categorisation",industry:"Product Development",description:"Automatically categorise product feedback by sentiment to prioritise improvements.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends product feedback via SMS","AI analyses sentiment and categorises intent","Positive feedback \u2192 Add to testimonials database (Airtable)","Negative feedback \u2192 Create product improvement task (Trello)","Neutral feedback \u2192 Log for later review (Google Sheets)","Product team receives weekly summary report"],keywords:"product feedback analysis, customer insights Australia, SMS feedback collection"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-detailed","data-aos":"fade-up",children:[(0,jt.jsx)("div",{className:"use-case-header",children:(0,jt.jsxs)("div",{children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("span",{className:"industry-tag",children:e.industry})]})}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsxs)("div",{className:"workflow-breakdown",children:[(0,jt.jsx)("h4",{children:"Workflow Steps:"}),(0,jt.jsx)("ol",{children:e.steps.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]})]},t)))]})}),(0,jt.jsx)("section",{className:"australian-focus","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Why Australian Businesses Choose DataFlows SMS Sentiment Analysis"}),(0,jt.jsxs)("div",{className:"benefits-grid",children:[(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83c\udde6\ud83c\uddfa Understands Australian English"}),(0,jt.jsx)("p",{children:'Trained on Australian slang, idioms, and communication styles. Understands "mate", "no worries", and other Aussie expressions.'})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\u26a1 Instant Webhooks"}
2),(0,jt.jsx)("p",{children:"Real-time analysis with no polling delays. SMS received \u2192 Analysed \u2192 Action taken in under 5 seconds."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcca High Accuracy"}),(0,jt.jsx)("p",{children:"85-92% accuracy rate with confidence scores. Filter by confidence to ensure reliable results."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd12 ACMA Compliant"}),(0,jt.jsx)("p",{children:"Fully compliant with Australian SMS regulations and privacy laws (Privacy Act 1988)."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcb0 Cost-Effective"}),(0,jt.jsx)("p",{children:"No per-analysis charges. Included with your DataFlows SMS plan. Perfect for Australian small businesses."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd17 6,000+ App Integrations"}),(0,jt.jsx)("p",{children:"Connect with Zendesk, Slack, HubSpot, Google Sheets, and thousands more via Zapier."})]})]})]})}),(0,jt.jsx)("section",{className:"setup-guide","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How to Set Up SMS Sentiment Analysis in Zapier"}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 1: Create Your Zap"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Log in to ",(0,jt.jsx)("a",{href:"https://zapier.com",target:"_blank",rel:"noopener noreferrer",children:"Zapier"})]}),(0,jt.jsx)("li",{children:'Click "Create Zap"'}),(0,jt.jsx)("li",{children:'Search for "DataFlows SMS" and select it as your trigger app'})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 2: Choose Your Trigger"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Select trigger event: ",(0,jt.jsx)("strong",{children:'"New SMS Received"'})]}),(0,jt.jsx)("li",{children:"Connect your DataFlows SMS account using your API token"}),(0,jt.jsxs)("li",{children:["Get your API token from: ",(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/developers/api",target:"_blank",rel:"noopener noreferrer",children:"https://sms.dataflows.com.au/developers/api"})]}),(0,jt.jsx)("li",{children:"Test the trigger with a sample SMS"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 3: Add Sentiment Analysis Action"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click "+" to add an action'}),(0,jt.jsx)("li",{children:'Search for "DataFlows SMS" and select it'}),(0,jt.jsxs)("li",{children:["Choose action event: ",(0,jt.jsx)("strong",{children:'"Analyse SMS Sentiment With AI"'})]}),(0,jt.jsx)("li",{children:'Map the "Message" field to the incoming SMS content from Step 2'}),(0,jt.jsx)("li",{children:"Test the action to see sentiment results"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 4: Route Based on Sentiment"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Add a ",(0,jt.jsx)("strong",{children:"Filter"})," or ",(0,jt.jsx)("strong",{children:"Paths"})," step"]}),(0,jt.jsxs)("li",{children:["Create different workflows for each sentiment:",(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path 1 (Negative):"}),' sentiment = "negative" AND confidence > 0.7']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path 2 (Positive):"}),' sentiment = "positive"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path 3 (Neutral):"}),' sentiment = "neutral"']})]})]}),(0,jt.jsx)("li",{children:"For each path, add appropriate actions (create ticket, send email, log to sheet, etc.)"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 5: Test and Activate"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Send test SMS messages with different sentiments"}),(0,jt.jsx)("li",{children:"Verify each workflow path executes correctly"}),(0,jt.jsx)("li",{children:"Check confidence scores are within acceptable range"}),(0,jt.jsx)("li",{children:"Turn on your Zap to start automating!"})]})]})]})}),(0,jt.jsx)("section",{className:"faq-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"How accurate is the AI sentiment analysis for Australian English?",answer:"Our AI is trained on diverse English variants including Australian English. It achieves 85-92% accuracy in sentiment detection and understands Australian slang, idioms, and colloquialisms. The confidence score helps you filter out uncertain results."},{question:"What sentiments can the AI detect in SMS messages?",answer:"The AI classifies messages into three main sentiments: Positive (happy, satisfied, grateful), Negative (angry, frustrated, disappointed), and Neutral (informational, factual). It also provides emotion tags like 'angry', 'worried', 'excited', and tone indicators like 'urgent' or 'professional'."},{question:"Can I use sentiment analysis for SMS marketing campaigns in Australia?",answer:"Yes! Sentiment analysis is perfect for Australian SMS marketing. You can identify unhappy customers for retention campaigns, find promoters for referral programs, or segment audiences based on their emotional response to your messages."},{question:"What's the confidence score and how should I use it?",answer:"The confidence score (0.0 to 1.0) indicates how certain the AI is about the sentiment. We recommend only acting on results with confidence > 0.7. Low confidence (<0.6) should be routed to human review to avoid misclassification."},{question:"Does sentiment analysis work with SMS messages in different formats?",answer:"Yes! The AI works with standard SMS messages, long messages (concatenated), messages with emojis, abbreviations, and even messages with poor grammar or typos. It's designed to understand real-world customer communication."},{question:"How fast is the sentiment analysis?",answer:"Analysis is near-instant, typically completing within 1-2 seconds. Since DataFlows SMS uses instant webhook triggers (not polling), the entire workflow from receiving an SMS to analysing sentiment and taking action happens in under 5 seconds."},{question:"Can I analyse sentiment for bulk SMS responses in Australia?",answer:"Absolutely! Whether you receive 10 or 10,000 SMS responses to your Australian SMS campaign, each message is analysed individually in real-time. This is perfect for event feedback, product launches, or survey responses."},{question:"What happens if the AI can't determine sentiment?",answer:"If the AI confidence is very low or the message is ambiguous, you can set up a fallback workflow. Common approaches: route to human review, mark as 'neutral', or request clarification from the sender via automated SMS response."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item",children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"cta-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Ready to Start Analysing SMS Sentiment?"}),(0,jt.jsx)("p",{children:"Connect DataFlows SMS with Zapier and start understanding your customers' emotions automatically."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://zapier.com/apps/dataflows-sms",className:"btn btn-primary",target:"_blank",rel:"noopener noreferrer",children:"Get Started with Zapier"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"btn btn-secondary",children:"View All Zapier Features"})]})]})}),t&&(0,jt.jsx)("button",{className:"scroll-to-top",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},"aria-label":"Scroll to top",children:"\u2191"}),(0,jt.jsx)(bt,{})]})},xh=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const n=[{title:"Order Confirmation SMS for Australian E-commerce",industry:"E-commerce & Retail",description:"Send instant order confirmation SMS messages to Australian customers when new orders are placed.",trigger:"Shopify - New Order",steps:["Customer completes purchase on Shopify store","Zapier triggers on new order event","Extract: Customer phone number, order number, total amount","DataFlows SMS sends: 'Thanks for your order #12345! Total: $127.50. Track delivery: [link]'","Customer receives confirmation instantly","Reduces 'where is my order?' support calls"]}
2,{title:"Appointment Reminders for Australian Healthcare",industry:"Healthcare & Medical",description:"Automatically send SMS appointment reminders to patients 24 hours before their scheduled visit.",trigger:"Google Calendar - Event Start (24 hours before)",steps:["Google Calendar event starts in 24 hours","Extract: Patient name, appointment time, doctor name","DataFlows SMS sends: 'Hi Sarah, reminder: Appointment with Dr. Smith tomorrow at 2:30 PM. Reply C to confirm or R to reschedule.'","Patient replies with C or R","Response logged to Google Sheets","Staff receives notification if rescheduling needed"]},{title:"Lead Notification SMS for Real Estate Agents",industry:"Real Estate",description:"Alert Australian real estate agents instantly when new property leads come through.",trigger:"Gravity Forms - New Form Submission",steps:["Potential buyer submits property enquiry form","Extract: Lead name, phone, property interested in, budget","DataFlows SMS to agent: 'New lead: John M. interested in 123 Smith St. Budget: $850k. Call: 0412 345 678'","Agent contacts lead within 5 minutes","Higher conversion rate due to fast response"]},{title:"Delivery Status Updates for Logistics",industry:"Logistics & Delivery",description:"Keep Australian customers informed with real-time delivery status SMS notifications.",trigger:"Airtable - Record Updated (Status Field)",steps:["Delivery status updated in Airtable: 'Out for Delivery'","Filter: Only trigger when status = 'Out for Delivery'","Extract: Customer name, delivery address, driver name, ETA","DataFlows SMS: 'Hi James, your package is out for delivery! Driver: Mike, ETA: 2:00-4:00 PM today. Track: [link]'","Customer receives real-time update","Reduces missed deliveries"]},{title:"Event Registration Confirmation SMS",industry:"Events & Conferences",description:"Send instant SMS confirmations to attendees when they register for Australian events.",trigger:"Eventbrite - New Order",steps:["Attendee registers for event on Eventbrite","Extract: Attendee name, event name, date, ticket type","DataFlows SMS: 'Thanks for registering, Emma! Sydney Marketing Summit - June 15, 2025. VIP Pass. Details: [link]'","SMS includes calendar invite link","Send reminder SMS 7 days before event","Send 'event starting soon' SMS on event day"]},{title:"Customer Support Ticket Created Notification",industry:"Customer Support",description:"Notify customers via SMS when their support ticket is created and include ticket number.",trigger:"Zendesk - New Ticket",steps:["Customer creates support ticket via email or web","Extract: Customer name, ticket number, priority","DataFlows SMS: 'Hi David, support ticket #4521 created. We'll respond within 2 hours. Track: [link]'","When ticket is resolved, send follow-up SMS","Request feedback via SMS survey link"]},{title:"Payment Reminder SMS for Overdue Invoices",industry:"Accounting & Finance",description:"Automatically send polite SMS payment reminders to Australian clients with overdue invoices.",trigger:"Xero - Invoice Overdue",steps:["Invoice becomes 7 days overdue in Xero","Extract: Client name, invoice number, amount due","DataFlows SMS: 'Hi Sarah, friendly reminder: Invoice #INV-1234 ($450) is now 7 days overdue. Pay here: [link]'","If still unpaid after 14 days, escalate to phone call","Log all SMS communications in Xero"]},{title:"Emergency Alert System for Schools",industry:"Education",description:"Send urgent SMS alerts to parents and staff during Australian school emergencies.",trigger:"Google Forms - Emergency Alert Submitted",steps:["School admin submits emergency alert form","Extract: Alert type, message, severity","DataFlows SMS to all parent contacts: 'SCHOOL ALERT: Early dismissal today due to severe weather. Pick up by 1:00 PM.'","Send to 500+ parents simultaneously","Confirmation SMS sent when alert resolved","Log all alerts in Google Sheets"]},{title:"Flash Sale SMS Campaign for Australian Retail",industry:"Retail & E-commerce",description:"Send targeted SMS blast to customers when flash sales or limited-time offers go live.",trigger:"Mailchimp - New Campaign Sent",steps:["Marketing team launches email flash sale campaign","Extract: Sale details, discount code, end time","Filter: Send SMS only to VIP customer segment","DataFlows SMS: '\u26a1 FLASH SALE: 40% off all sneakers for the next 4 hours! Code: FLASH40. Shop: [link]'","Track SMS click-through rate","Much higher open rate than email (98% vs 20%)"]},{title:"Shipping Delay Notification System",industry:"E-commerce",description:"Proactively notify Australian customers via SMS when shipments are delayed.",trigger:"Shippo - Tracking Status Upd
2ated",steps:["Shipping carrier updates tracking: 'Delayed in transit'","Extract: Customer name, order number, new ETA","DataFlows SMS: 'Hi Lisa, your order #7894 is delayed by 1 day due to weather. New ETA: Thursday. Sorry for the inconvenience!'","Prevents customer frustration from unexpected delays","Offer discount code for future purchase"]},{title:"Booking Confirmation for Australian Hospitality",industry:"Hospitality & Tourism",description:"Send instant SMS booking confirmations for hotels, restaurants, and tours in Australia.",trigger:"OpenTable / Resy - New Reservation",steps:["Customer makes restaurant booking online","Extract: Customer name, date, time, party size, restaurant name","DataFlows SMS: 'Booking confirmed! The Harbour Restaurant - Saturday 7:00 PM for 4 people. See you then! Reply C to cancel.'","Send reminder SMS 4 hours before reservation","If customer replies C, cancel booking automatically"]},{title:"Staff Roster Change Notification",industry:"Workforce Management",description:"Alert Australian staff members instantly when their work roster changes.",trigger:"Deputy / When I Work - Shift Updated",steps:["Manager updates employee shift in roster system","Extract: Employee name, old shift, new shift, date","DataFlows SMS: 'Hi Tom, shift update: Thursday changed from 9AM-5PM to 12PM-8PM. Reply OK to confirm.'","Employee confirms via SMS reply","Reduces no-shows from schedule confusion"]}];return(0,jt.jsxs)("div",{className:"zapier-feature-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Send SMS via Zapier - DataFlows SMS Integration Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Automate SMS sending with Zapier and DataFlows. Send order confirmations, appointment reminders, alerts, and notifications from 6000+ apps. Australian SMS automation made easy."}),(0,jt.jsx)("meta",{property:"og:title",content:"Send SMS via Zapier - DataFlows SMS Integration Australia"}),(0,jt.jsx)("meta",{property:"og:description",content:"Automate SMS sending with Zapier and DataFlows. Send order confirmations, appointment reminders, alerts, and notifications from 6000+ apps. Australian SMS automation made easy."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/zapier/actions/send-sms")})]}),(0,jt.jsxs)("div",{className:"zapier-feature-hero","data-aos":"fade-down",children:[(0,jt.jsx)("div",{className:"breadcrumbs-wrapper",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Zapier",path:"/integrations/zapier"},{label:"Send SMS"}]})}),(0,jt.jsx)("h1",{className:"zapier-feature-title",children:"Send SMS"}),(0,jt.jsx)("p",{className:"zapier-feature-subtitle",children:"Automatically send SMS messages from 6,000+ apps with Zapier and DataFlows. Perfect for Australian businesses needing reliable SMS automation."}),(0,jt.jsxs)("div",{className:"zapier-feature-badge",children:[(0,jt.jsx)("span",{className:"badge-type",children:"Action"}),(0,jt.jsx)("span",{className:"badge-separator",children:"\u2022"}),(0,jt.jsx)("span",{className:"badge-plan",children:"All DataFlows Plans"})]})]}),(0,jt.jsxs)("div",{className:"zapier-feature-content",children:[(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"What Does This Action Do?"}),(0,jt.jsxs)("p",{className:"feature-description",children:["The ",(0,jt.jsx)("strong",{children:"Send SMS"})," action allows you to automatically send text messages to Australian and international phone numbers when triggered by events in your favourite apps. Whether it's order confirmations, appointment reminders, delivery updates, or emergency alerts - connect any of Zapier's 6,000+ apps to DataFlows and send SMS messages instantly."]}),(0,jt.jsx)("div",{className:"feature-highlight",children:(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Popular Australian Use Cases:"})," E-commerce order confirmations, medical appointment reminders, real estate lead alerts, event registration confirmations, payment reminders, emergency notifications, and customer support updates."]})})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"How It Works"}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"1"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Choose Your Trigger App"}),(0,jt.jsx)("p",{children:"Select any of 6,000+ apps like Shopify, WooCommerce, Google Calendar, Salesforce, Airtable, Gravity Forms, or Typeform as your trigger."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"2"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Configure DataFlows Send SMS Action"}),(0,jt.jsx)("p",{children:"Map your trigger data to SMS fields: recipient phone number (Australian mobile format: 04XX XXX XXX), message content, and optional sender ID."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"3"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"SMS Sent Automatically"}),(0,jt.jsx)("p",{children:"When your trigger event occurs, DataFlows instantly sends the SMS to the recipient. Delivery typically takes 1-5 seconds 
2in Australia."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"4"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Track Delivery (Optional)"}),(0,jt.jsx)("p",{children:"Use the SMS Delivery Status trigger to track when messages are delivered, failed, or bounced. Perfect for mission-critical notifications."})]})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Action Configuration Fields"}),(0,jt.jsxs)("div",{className:"config-fields",children:[(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Phone Number ",(0,jt.jsx)("span",{className:"required-badge",children:"Required"})]}),(0,jt.jsxs)("p",{children:["The recipient's mobile number. Australian format: ",(0,jt.jsx)("code",{children:"0412345678"})," or ",(0,jt.jsx)("code",{children:"+61412345678"}),". International numbers supported with country code."]})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Message ",(0,jt.jsx)("span",{className:"required-badge",children:"Required"})]}),(0,jt.jsx)("p",{children:"The SMS text content (max 160 characters for single SMS, longer messages split automatically). Supports dynamic data from previous Zapier steps."})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Sender ID ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:'Custom sender name (up to 11 characters) shown instead of phone number. Example: "ACME Store". Not supported by all Australian carriers.'})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Reference ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:"Your internal reference ID for tracking (e.g., order number, ticket ID, customer ID). Helps correlate SMS with business records."})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section use-cases-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Real-World Australian Use Cases"}),(0,jt.jsxs)("p",{className:"section-intro",children:["Here are ",n.length," proven ways Australian businesses use the Send SMS action to improve customer experience and operational efficiency:"]}),n.map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-card","data-aos":"fade-up","data-aos-delay":50*t,children:[(0,jt.jsxs)("div",{className:"use-case-header",children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("span",{className:"industry-tag",children:e.industry})]}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsxs)("div",{className:"use-case-trigger",children:[(0,jt.jsx)("strong",{children:"Trigger:"})," ",e.trigger]}),(0,jt.jsxs)("div",{className:"workflow-breakdown",children:[(0,jt.jsx)("h4",{children:"Workflow Breakdown:"}),(0,jt.jsx)("ol",{className:"workflow-steps-list",children:e.steps.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]})]},t)))]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Quick Setup Guide"}),(0,jt.jsxs)("div",{className:"setup-steps",children:[(0,jt.jsx)("h3",{children:"Step 1: Create Your Zap"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Log in to your Zapier account"}),(0,jt.jsx)("li",{children:'Click "Create Zap"'}),(0,jt.jsx)("li",{children:'Search for and select your trigger app (e.g., "Shopify", "Google Calendar")'}),(0,jt.jsx)("li",{children:'Choose the specific trigger event (e.g., "New Order", "Event Start")'}),(0,jt.jsx)("li",{children:"Connect your account and configure trigger settings"}),(0,jt.jsx)("li",{children:"Test the trigger to ensure data is flowing correctly"})]}),(0,jt.jsx)("h3",{children:"Step 2: Add DataFlows Send SMS Action"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click the "+" button to add an action step'}),(0,jt.jsx)("li",{children:'Search for "DataFlows SMS" and select it'}),(0,jt.jsx)("li",{children:'Choose the "Send SMS" action event'}),(0,jt.jsx)("li",{children:"Connect your DataFlows account (you'll need your API key from the DataFlows dashboard)"}),(0,jt.jsx)("li",{children:'Click "Continue"'})]}),(0,jt.jsx)("h3",{children:"Step 3: Configure SMS Fields"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Phone Number:"})," Map the phone field from your trigger (e.g., ","{","{"," Customer Phone ","}","}"," from Shopify)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Message:"})," Compose your SMS using static text and dynamic fields:",(0,jt.jsxs)("div",{className:"code-example",children:["Thanks for your order ","{","{"," Order Number ","}","}"," ! Total: $","{","{"," Total Price ","}","}"," . Track: [link]"]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Sender ID:"})," (Optional) Enter your business name or leave blank"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Reference:"})," (Optional) Map order/ticket ID for tracking"]}),(0,jt.jsx)("li",{children:'Click "Continue"'})]}),(0,jt.jsx)("h3",{children:"Step 4: Test & Activate"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click "Test action" to send a real SMS to verify everything works'}),(0,jt.jsx)("li",{children:"Check that the SMS was received correctly"}),(0,jt.jsx)("li",{children:"Make any necessary adjustments to message content or formatting"}),(0,jt.jsx)("li",{children:"Turn on your Zap!"}),(0,jt.jsx)("li",{children:"Monitor the Zap history to ensure SMS messages are sending successfully"})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Best Practices for Australian Businesses"}),(0,jt.jsxs)("div",{className:"best-practices",children:[(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Include Opt-Out Instructions"}),(0,jt.jsx)("p",{children:'Add "Reply STOP to opt out" to marketing SMS messages. Required by Australian spam laws (Spam Act 2003).'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Keep Messages Concise"}),(0,jt.jsx)("p",{children:"Under 160 characters = 1 SMS credit. Longer messages split into multiple parts and cost more. Get to the point quickly."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Personalize With Dynamic Data"}),(0,jt.jsx)("p",{children:'Use customer names, order numbers, and specific details. "Hi Sarah, order #1234..." performs better than generic messages.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Include Clear Call-to-Action"}),(0,jt.jsx)("p",{children:'Tell recipients what to do next: "Click here", "Reply YES", "Call us", or "Visit [link]". Make next steps obvious.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Use URL Shorteners for Links"}),(0,jt.jsx)("p",{children:"Long URLs consume character count. Use bit.ly or your own branded shortener to save space."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Test with Australian Numbers First"}),(0,jt.jsx)("p",{children:"Send test SMS to your own Australian mobile before activating the Zap. Verify formatting, tone, and links work correctly."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Set Up Delivery Tracking"}),(0,jt.jsx)("p",{children:'Create a second Zap using the "SMS Delivery Status Changed" trigger to log failed/bounced messages for follow-up.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Respect Quiet Hours"}),(0,jt.jsx)("p",{children:"Add filters to avoid sending SMS between 9 PM - 8 AM Australian time unless it's an emergency. Use Zapier's \"Filter\" step."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Monitor Credit Balance"}),(0,jt.jsx)("p",{children:'Set up the "Low Balance Alert" trigger to notify you when SMS credits run low. Prevents disruption to critical workflows.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Validate Phone Numbers"}),(0,jt.jsx)("p",{children:'Use Zapier\'s "Formatter" tool to clean phone numbers before sending (remove spaces, ensure Australian format). Reduces failed SMS.'})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Common Issues & Solutions"}),(0,jt.jsxs)("div",{className:"troubleshooting",children:[(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c SMS Not Delivered"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Verify ph
2one number is in correct format (04XX XXX XXX or +614XX XXX XXX)"}),(0,jt.jsx)("li",{children:"Check DataFlows account has sufficient credits"}),(0,jt.jsx)("li",{children:"Ensure recipient number is a valid Australian mobile (landlines don't receive SMS)"}),(0,jt.jsx)("li",{children:"Check the SMS Delivery Status trigger for error details"})]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsxs)("h4",{children:["\u274c Message Contains ","{","{"," Curly Braces ","}","}"," "]}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Solution:"})," You forgot to map the dynamic field. Click the field in Zapier and select the correct data from the dropdown - don't type it manually."]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c Zap Triggering Too Often"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Solution:"}),' Add a "Filter" step between trigger and action. Example: "Only continue if Order Status = Paid" to avoid sending SMS for draft orders.']})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c International Numbers Failing"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Solution:"})," Ensure phone number includes country code (e.g., +1 for USA, +44 for UK). Use Zapier Formatter to add country code if missing."]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c Sender ID Not Showing"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Note:"})," Some Australian carriers (especially Telstra) don't support custom sender IDs and will show a numeric sender instead. This is carrier-dependent, not a DataFlows issue."]})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Advanced Automation Tips"}),(0,jt.jsxs)("div",{className:"advanced-tips",children:[(0,jt.jsx)("h3",{children:"Multi-Step SMS Workflows"}),(0,jt.jsx)("p",{children:"Combine Send SMS with other actions for sophisticated automations:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"SMS + Email:"})," Send SMS immediately for urgent matters, then follow up with detailed email"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"SMS + Database:"})," Log all sent SMS messages to Google Sheets or Airtable for compliance/auditing"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"SMS + CRM:"})," Update Salesforce/HubSpot contact record after sending SMS confirmation"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"SMS + Delays:"}),' Use Zapier\'s "Delay" step to send reminder SMS X hours/days after initial event']})]}),(0,jt.jsx)("h3",{children:"Conditional SMS Sending"}),(0,jt.jsx)("p",{children:'Use Zapier\'s "Filter" and "Paths" features to send different SMS based on conditions:'}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Send different messages to VIP vs regular customers"}),(0,jt.jsxs)("li",{children:["Only send SMS for high-value orders (e.g., Total ",">"," $100)"]}),(0,jt.jsx)("li",{children:"Different messages for different product categories"}),(0,jt.jsx)("li",{children:"Send to Australian numbers only (filter by country code)"})]}),(0,jt.jsx)("h3",{children:"Bulk SMS Campaigns"}),(0,jt.jsx)("p",{children:"For sending to multiple recipients:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Use Google Sheets as trigger with list of phone numbers"}),(0,jt.jsx)("li",{children:'Add "Looping" with Zapier\'s built-in loop feature'}),(0,jt.jsx)("li",{children:"Respect rate limits and quiet hours"}),(0,jt.jsx)("li",{children:"Track sent messages and responses in spreadsheet"})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section related-features","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Related DataFlows Features"}),(0,jt.jsxs)("div",{className:"related-cards",children:[(0,jt.jsxs)(fe,{to:"/integrations/zapier/triggers/sms-delivery-status",className:"related-card",children:[(0,jt.jsx)("h4",{children:"SMS Delivery Status Changed"}),(0,jt.jsx)("p",{children:"Track when your sent SMS messages are delivered, failed, or bounced. Perfect for mission-critical notifications."}),(0,jt.jsx)("span",{className:"feature-type",children:"Trigger"})]}),(0,jt.jsxs)(fe,{to:"/integrations/zapier/triggers/new-sms-received",className:"related-card",children:[(0,jt.jsx)("h4",{children:"New SMS Received"}),(0,jt.jsx)("p",{children:"Trigger automations when customers reply to your SMS messages. Enable two-way conversations."}),(0,jt.jsx)("span",{className:"feature-type",children:"Trigger"})]}),(0,jt.jsxs)(fe,{to:"/integrations/zapier/triggers/low-balance-alert",className:"related-card",children:[(0,jt.jsx)("h4",{children:"Low Balance Alert"}),(0,jt.jsx)("p",{children:"Get notified when your SMS credits run low. Prevent disruption to critical workflows."}),(0,jt.jsx)("span",{className:"feature-type",children:"Trigger"})]})]})]}),(0,jt.jsx)("section",{className:"feature-section cta-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cta-content",children:[(0,jt.jsx)("h2",{children:"Ready to Automate Your SMS Sending?"}),(0,jt.jsx)("p",{children:"Join hundreds of Australian businesses using DataFlows + Zapier to send millions of automated SMS messages every month."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://zapier.com/apps/dataflows-sms/integrations",target:"_blank",rel:"noopener noreferrer",className:"btn-primary",children:"Get Started with Zapier"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"btn-secondary",children:"View All Features"})]})]})})]}),(0,jt.jsx)(bt,{}),t&&(0,jt.jsx)("button",{onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},className:"scroll-to-top","aria-label":"Scroll to top",children:"\u2191"})]})},vh=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const n=[{title:"Auto-Add E-commerce Customers to SMS Lists",industry:"E-commerce & Retail",description:"Automatically add new Australian Shopify/WooCommerce customers to your DataFlows contact groups for future SMS campaigns.",trigger:"Shopify - New Customer",steps:["Customer completes first purchase on Shopify","Extract: Name, phone number, email, location","Filter: Only Australian phone numbers (starts with +61 or 04)","DataFlows creates contact in 'VIP Customers' group","Send welcome SMS: 'Thanks for shopping with us! Reply STOP to opt out'","Future marketing campaigns can target this group"]},{title:"CRM to SMS Contact Sync",industry:"Sales & Marketing",description:"Sync new leads from Salesforce, HubSpot, or Pipedrive to DataFlows contact lists automatically.",trigger:"Salesforce - New Lead",steps:["Sales team adds new lead to Salesforce","Extract: First name, last name, mobile number, lead source","DataFlows creates contact with custom fields: Lead Source, Date Added","Add to 'Warm Leads' contact group","Trigger automated SMS nurture sequence","Sales team can send SMS directly from DataFlows dashboard"]},{title:"Event Registration to SMS List Builder",industry:"Events & Conferences",description:"Build SMS contact lists from event registrations for sending updates, reminders, and post-event follow-ups.",trigger:"Eventbrite - New Order",steps:["Attendee registers for 'Sydney Marketing Summit 2025'","Extract: Name, phone, email, ticket type","DataFlows creates contact with tags: Event Name, Ticket Type, Registration Date","Add to 'Sydney Summit 2025 Attendees' group","Send confirmation SMS immediately","Send reminder SMS 7 days before event, then 1 day before event"]},{title:"Form Submissions to SMS Database",industry:"Lead Generation",description:"Convert Australian web form leads into DataFlows contacts for SMS follow-up campaigns.",trigger:"Gravity Forms / Typeform - New Submission",steps:["Prospect submits 'Request Quote' form on website","Extract: Name, phone, email, service interested in, budget","DataFlows creates contact with notes: Service, Budget, Source URL","Add to 'Hot Leads - Quote Requests' group","Sales team receives Slack notification","Automated SMS: 'Thanks for your quote request! We'll call you within 30 mins.'"]},{title:"Webinar Attendee Contact Management",industry:"Education & Training",description:"Capture webinar attendees from Zoom/GoToWebinar and create DataFlows contacts for future communication.",trigger:"Zoom - Webinar Registration",steps:["User registers for 'Australian Tax Tips for Small Business' webinar","Extract: Name, phone, email, company","DataFlows creates contact tagged: Webinar Topic, Registration Date","Add to 'Webinar Leads - Tax Tips' group","Send SMS 1 hour before webinar: 'Starting soon! Join: [link]'","Post-webinar SMS with recording link and special offer"]},{title:"Patient Registration for Healthcare Practices",industry:"Healthcare & Medical",description:"Create DataFlows contacts from new patient registrations for appointment reminders and health updates.",trigger:"Acuity Scheduling - New Client",steps:["New patient books first appointment","Extract: Patient name, mobile, date of birth, preferred contact method","DataFlows creates contact with medical consent flags","Add to 'Active Patients' group","Send welcome SMS with practice info and parking instructions","Enable automated appointment reminder SMS"]},{title:"Loyalty Program Member Sync",industry:"Retail & Hospital
2ity",description:"Sync loyalty program signups from Square, Lightspeed, or custom apps to DataFlows for SMS rewards campaigns.",trigger:"Square - New Customer Created",steps:["Customer signs up for loyalty program in-store","Extract: Name, phone, email, loyalty tier (Bronze/Silver/Gold)","DataFlows creates contact with loyalty tier tag","Add to corresponding group: 'Gold Members', 'Silver Members', etc.","Send SMS: 'Welcome to our VIP program! You've earned 100 points.'","Send monthly SMS with exclusive offers based on tier"]},{title:"Real Estate Inquiry Contact Builder",industry:"Real Estate",description:"Build Australian property buyer/seller contact lists from website inquiries and open home registrations.",trigger:"Gravity Forms - Property Inquiry",steps:["Prospect submits interest form for property listing","Extract: Name, phone, email, property interested in, budget range","DataFlows creates contact with tags: Property Address, Budget, Inquiry Type","Add to 'Active Buyers - [Suburb]' group","Agent receives SMS alert with prospect details","Send automated SMS to prospect: 'Thanks! Agent Sarah will call you within 15 mins.'"]},{title:"Newsletter Subscriber to SMS List Conversion",industry:"Media & Publishing",description:"Convert email newsletter subscribers to SMS contacts for breaking news alerts and exclusive content.",trigger:"Mailchimp - New Subscriber",steps:["Reader subscribes to newsletter and opts into SMS alerts","Extract: Name, phone, email, interests/topics","DataFlows creates contact tagged: Newsletter Subscriber, Topics of Interest","Add to 'SMS News Alerts' group","Send SMS: 'Thanks for subscribing! You'll get breaking news first. Reply STOP anytime.'","Send SMS for urgent news stories only (1-2 per week maximum)"]},{title:"Competition Entry Contact Collection",industry:"Marketing & Promotions",description:"Build SMS marketing lists from Australian competition entries and giveaways (with consent).",trigger:"Typeform - Competition Entry",steps:["User enters competition: 'Win a $500 Gift Card'","Extract: Name, phone, email, opt-in for marketing SMS","Filter: Only create contact if marketing consent = Yes","DataFlows creates contact tagged: Competition Name, Entry Date","Add to 'Competition Entrants - June 2025' group","Send SMS: 'Entered! Winner announced Friday. Opted in for exclusive offers (Reply STOP to opt out).'"]},{title:"Booking Confirmation to Contact Database",industry:"Hospitality & Tourism",description:"Create contacts from restaurant, hotel, or tour bookings for future marketing and feedback requests.",trigger:"OpenTable - New Reservation",steps:["Customer books table at 'The Harbour Restaurant'","Extract: Name, phone, party size, special requests","DataFlows creates contact with booking history","Add to 'Harbour Restaurant Guests' group","Send SMS 4 hours before: 'Looking forward to seeing you at 7PM!'","Day after: SMS feedback request with Google review link"]},{title:"Support Ticket Customer Contact Creation",industry:"Customer Support",description:"Automatically create DataFlows contacts from new support tickets for SMS status updates.",trigger:"Zendesk - New Ticket",steps:["Customer submits support ticket via email","Extract: Name, phone, email, ticket subject, priority","DataFlows creates contact tagged: Ticket #, Issue Type, Priority","Add to 'Support Customers' group","Send SMS: 'Ticket #1234 created. We'll respond within 2 hours. Track: [link]'","When ticket resolved: SMS with solution and satisfaction survey link"]}];return(0,jt.jsxs)("div",{className:"zapier-feature-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Create Contact via Zapier - DataFlows SMS Integration Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Automatically create DataFlows SMS contacts from 6000+ apps with Zapier. Build SMS marketing lists from CRM, forms, e-commerce, and events. Australian SMS contact management automation."}),(0,jt.jsx)("meta",{property:"og:title",content:"Create Contact via Zapier - DataFlows SMS Integration Australia"}),(0,jt.jsx)("meta",{property:"og:description",content:"Automatically create DataFlows SMS contacts from 6000+ apps with Zapier. Build SMS marketing lists from CRM, forms, e-commerce, and events. Australian SMS contact management automation."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/zapier/actions/create-contact")})]}),(0,jt.jsxs)("div",{className:"zapier-feature-hero","data-aos":"fade-down",children:[(0,jt.jsx)("div",{className:"breadcrumbs-wrapper",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Zapier",path:"/integrations/zapier"},{label:"Create Contact"}]})}),(0,jt.jsx)("h1",{className:"zapier-feature-title",children:"Create Contact"}),(0,jt.jsx)("p",{className:"zapier-feature-subtitle",children:"Automatically add contacts to DataFlows from 6,000+ apps. Build SMS marketing lists from your CRM, forms, e-commerce platforms, and events."}),(0,jt.jsxs)("div",{className:"zapier-feature-badge",children:[(0,jt.jsx)("span",{className:"badge-type",children:"Action"}),(0,jt.jsx)("span",{className:"badge-separator",children:"\u2022"}),(0,jt.jsx)("span",{className:"badge-plan",children:"All DataFlows Plans"})]})]}),(0,jt.jsxs)("div",{className:"zapier-feature-content",children:[(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"What Does This Action Do?"}),(0,jt.jsxs)("p",{className:"feature-description",children:["The ",(0,jt.jsx)("strong",{children:"Create Contact"})," action automatically adds new contacts to your DataFlows SMS contact database when triggered by events in your other apps. Perfect for Australian businesses wanting to build SMS marketing lists, sync CRM contacts, collect event attendees, or manage customer databases - all without manual data entry."]}),(0,jt.jsx)("div",{className:"feature-highlight",children:(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Popular Australian Use Cases:"})," Sync Salesforce/HubSpot leads, add Shopify customers to SMS lists, collect event registrations, build contact groups from web forms, create patient databases for healthcare, and more."]})})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"How It Works"}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"1"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Choose Your Trigger App"}),(0,jt.jsx)("p",{children:"Select from 6,000+ apps like Salesforce, Shopify, Gravity Forms, Eventbrite, Mailchimp, Typeform, or Google Sheets as your contact source."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"2"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Configure DataFlows Create Contact Action"}),(0,jt.jsx)("p",{children:"Map your trigger data to contact fields: name, phone number (required), email, custom tags, and contact group assignments."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"3"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Contact Created Automatically"}),(0,jt.jsx)("p",{children:"When your trigger fires, DataFlows instantly creates the contact in your database with all mapped fields and group assignments."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"4"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Use for SMS Campaigns"}),(0,jt.jsx)("p",{children:"Send targeted SMS campaigns to your auto-populated contact groups directly from DataFlows dashboard or via additional Zap automations."})]})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Action Configuration Fields"}),(0,jt.jsxs)("div",{className:"config-fields",children:[(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Phone Number ",(0,jt.jsx)("span",{className:"required-badge",children:"Required"})]}),(0,jt.jsxs)("p",{children:["Contact's mobile number. Australian format: ",(0,jt.jsx)("code",{children:"0412345678"})," or ",(0,jt.jsx)("code",{children:"+61412345678"}),". International numbers supported with country code."]})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["First Name ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:"Contact's first name for personalization in SMS messages. Recommended for better engagement."})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Last Name ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:"Contact's last name. Helps with identification and professional communication."})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Email ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:"Contact's email address. Useful for multi-channel campaigns and contact verification."})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Contact Groups ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:"Assign contact to one or more groups (e.g., 'VIP Customers', 'Sydney Events', 'Newsletter Subscribers'). Create groups in DataFlows dashboard first."})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Tags ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:"Add custom tags for segmentation (e.g., 'Lead Source: Web Form', 'Industry: Healthcare', 'Budget: $10k+'). Comma-separated."})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Custom Fields ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:"Store additional data like customer ID, order history, preferences, or any custom fields you've created in DataFlows. Up to 10 custom fields supp
2orted."})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Opt-In Status ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:"Set marketing consent status: Opted In, Opted Out, or Pending. Important for Australian anti-spam compliance (Spam Act 2003)."})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section use-cases-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Real-World Australian Use Cases"}),(0,jt.jsxs)("p",{className:"section-intro",children:["Here are ",n.length," proven ways Australian businesses use the Create Contact action to automate contact management and build SMS marketing lists:"]}),n.map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-card","data-aos":"fade-up","data-aos-delay":50*t,children:[(0,jt.jsxs)("div",{className:"use-case-header",children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("span",{className:"industry-tag",children:e.industry})]}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsxs)("div",{className:"use-case-trigger",children:[(0,jt.jsx)("strong",{children:"Trigger:"})," ",e.trigger]}),(0,jt.jsxs)("div",{className:"workflow-breakdown",children:[(0,jt.jsx)("h4",{children:"Workflow Breakdown:"}),(0,jt.jsx)("ol",{className:"workflow-steps-list",children:e.steps.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]})]},t)))]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Quick Setup Guide"}),(0,jt.jsxs)("div",{className:"setup-steps",children:[(0,jt.jsx)("h3",{children:"Step 1: Prepare Contact Groups in DataFlows"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Log in to your DataFlows dashboard"}),(0,jt.jsx)("li",{children:'Navigate to "Contacts" \u2192 "Groups"'}),(0,jt.jsx)("li",{children:"Create groups you'll need (e.g., 'VIP Customers', 'Newsletter Subscribers', 'Event Attendees')"}),(0,jt.jsx)("li",{children:"Note the exact group names - you'll need these in Zapier"})]}),(0,jt.jsx)("h3",{children:"Step 2: Create Your Zap"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Log in to Zapier and click "Create Zap"'}),(0,jt.jsx)("li",{children:'Search for and select your trigger app (e.g., "Salesforce", "Shopify", "Gravity Forms")'}),(0,jt.jsx)("li",{children:'Choose the trigger event (e.g., "New Lead", "New Customer", "New Form Submission")'}),(0,jt.jsx)("li",{children:"Connect your account and configure trigger settings"}),(0,jt.jsx)("li",{children:"Test the trigger to ensure data is flowing correctly"})]}),(0,jt.jsx)("h3",{children:"Step 3: Add DataFlows Create Contact Action"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click the "+" button to add an action step'}),(0,jt.jsx)("li",{children:'Search for "DataFlows SMS" and select it'}),(0,jt.jsx)("li",{children:'Choose the "Create Contact" action event'}),(0,jt.jsx)("li",{children:"Connect your DataFlows account (API key from DataFlows dashboard)"}),(0,jt.jsx)("li",{children:'Click "Continue"'})]}),(0,jt.jsx)("h3",{children:"Step 4: Map Contact Fields"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Phone Number:"})," Map the phone field from your trigger (e.g., ","{","{"," Mobile Phone ","}","}"," from Salesforce)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"First Name:"})," Map ","{","{"," First Name ","}","}"," field"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Last Name:"})," Map ","{","{"," Last Name ","}","}"," field"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Email:"})," Map ","{","{"," Email ","}","}"," field"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Contact Groups:"}),' Type or select your pre-created group names (e.g., "VIP Customers")']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Tags:"})," Add custom tags using static text or dynamic fields:",(0,jt.jsxs)("div",{className:"code-example",children:["Lead Source: ","{","{"," Lead Source ","}","}"," , Budget: ","{","{"," Budget Range ","}","}"," , Date: ","{","{"," Created Date ","}","}"]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Custom Fields:"})," Map any additional data you want to store"]}),(0,jt.jsx)("li",{children:'Click "Continue"'})]}),(0,jt.jsx)("h3",{children:"Step 5: Test & Activate"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click "Test action" to create a real contact in DataFlows'}),(0,jt.jsx)("li",{children:"Check your DataFlows dashboard to verify the contact was created correctly"}),(0,jt.jsx)("li",{children:"Verify contact group assignment and tags are correct"}),(0,jt.jsx)("li",{children:"Make any necessary adjustments to field mappings"}),(0,jt.jsx)("li",{children:"Turn on your Zap!"}),(0,jt.jsx)("li",{children:"Monitor the Zap history to ensure contacts are being created successfully"})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Best Practices for Australian Businesses"}),(0,jt.jsxs)("div",{className:"best-practices",children:[(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Always Get Marketing Consent"}
2),(0,jt.jsx)("p",{children:'Only create contacts who have explicitly opted in to receive SMS. Required by Australian Spam Act 2003. Add a checkbox to your forms: "I agree to receive SMS updates".'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Validate Phone Numbers"}),(0,jt.jsx)("p",{children:'Use Zapier\'s "Formatter" tool before the Create Contact action to clean and validate phone numbers (remove spaces, check format, ensure Australian numbers).'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Prevent Duplicate Contacts"}),(0,jt.jsx)("p",{children:"DataFlows automatically prevents duplicate phone numbers. If a contact already exists, the action will update it instead of creating a duplicate."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Use Meaningful Group Names"}),(0,jt.jsx)("p",{children:'Create specific, descriptive group names: "June 2025 Webinar Attendees" instead of "Group 3". Makes campaign targeting easier later.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Tag Contacts with Source Data"}),(0,jt.jsx)("p",{children:"Include useful tags like: Lead Source, Date Added, Campaign Name, Product Interest. Helps with segmentation and analytics."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Send Welcome SMS Immediately"}),(0,jt.jsx)("p",{children:'Add a "Send SMS" action after creating contact to welcome them and confirm opt-in. Include opt-out instructions: "Reply STOP to opt out".'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Store Custom Fields for Personalization"}),(0,jt.jsx)("p",{children:"Map extra data like purchase history, preferences, birthday, location. Use in future SMS campaigns for better personalization."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Use Filters to Qualify Contacts"}),(0,jt.jsx)("p",{children:'Add Zapier "Filter" step before creating contact: Only create if phone number exists, only Australian numbers, only high-value leads, etc.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Log Contact Creation for Auditing"}),(0,jt.jsx)("p",{children:"Add a Google Sheets step to log all created contacts with timestamp. Helpful for compliance audits and tracking growth."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Segment by Behaviour"}),(0,jt.jsx)("p",{children:'Create different groups based on actions: "Downloaded Whitepaper", "Attended Webinar", "High Value Customers ($1000+)". Enables targeted SMS campaigns.'})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Common Issues & Solutions"}),(0,jt.jsxs)("div",{className:"troubleshooting",children:[(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c Contact Not Created"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Ensure phone number field is mapped and contains valid data"}),(0,jt.jsx)("li",{children:"Check phone number format is correct (Australian: 04XX XXX XXX or +614XX XXX XXX)"}),(0,jt.jsx)("li",{children:"Verify DataFlows API connection is active (re-authenticate if needed)"}),(0,jt.jsx)("li",{children:"Check Zap history for specific error messages"})]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c Contact Group Not Assigned"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Verify the group name is spelled exactly as it appears in DataFlows dashboard (case-sensitive)"}),(0,jt.jsx)("li",{children:"Create the group in DataFlows dashboard first before running the Zap"}),(0,jt.jsx)("li",{children:"If using dynamic group names, ensure the field contains valid group name text"})]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c Duplicate Contacts Being Updated Instead of Created"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Note:"})," This is expected behaviour! DataFlows prevents duplicate phone numbers. If you want to update existing contacts, this is actually a feature, not a bug."]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c Tags Not Showing in DataFlows"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Solution:"})," Ensure tags are comma-separated. Format: ",(0,jt.jsx)("code",{children:"Tag1, Tag2, Tag3"})," not ",(0,jt.jsx)("code",{children:"Tag1;Tag2;Tag3"}),". Check for typos or extra spaces."]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c Custom Fields Empty"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Solution:"})," Create custom fields in DataFlows dashboard first. Navigate to Contacts \u2192 Custom Fields \u2192 Add Field. Then use the exact field name in Zapier mapping."]})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Advanced Automation Tips"}),(0,jt.jsxs)("div",{className:"advanced-tips",children:[(0,jt.jsx)("h3",{children:"Multi-Step Contact Enrichment"}),(0,jt.jsx)("p",{children:"Enhance contact data before creating:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Validate Email:"})," Use ZeroBounce or Clearout to verify email addresses"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Lookup Company Data:"})," Use Clearbit to enrich with company info, industry, size"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Geocode Address:"})," Use Google Maps to add suburb, postcode, coordinates"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Score Leads:"})," Use custom scoring logic to assign lead quality score"]})]}),(0,jt.jsx)("h3",{children:"Conditional Group Assignment"}),(0,jt.jsx)("p",{children:"Use Zapier Paths to assign contacts to different groups based on conditions:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:["High-value customers (",">",'$1000 spent) \u2192 "VIP Group"']}),(0,jt.jsx)("li",{children:'Sydney location \u2192 "Sydney Customers"'}),(0,jt.jsx)("li",{children:'Purchased Product A \u2192 "Product A Users"'}),(0,jt.jsxs)("li",{children:["Lead score ",">",' 80 \u2192 "Hot Leads"']})]}),(0,jt.jsx)("h3",{children:"Automated Welcome Sequences"}),(0,jt.jsx)("p",{children:"After creating contact, trigger multi-step SMS sequences:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Immediate: Welcome SMS with opt-out instructions"}),(0,jt.jsx)("li",{children:"Day 3: Educational content or tips"}),(0,jt.jsx)("li",{children:"Day 7: Special offer or discount code"}),(0,jt.jsx)("li",{children:"Day 30: Feedback request or case study"})]}),(0,jt.jsx)("h3",{children:"CRM Two-Way Sync"}),(0,jt.jsx)("p",{children:"Keep DataFlows and your CRM in sync:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"New Salesforce lead \u2192 Create DataFlows contact"}),(0,jt.jsx)("li",{children:"SMS sent in DataFlows \u2192 Log activity in Salesforce"}),(0,jt.jsx)("li",{children:"SMS reply received \u2192 Update Salesforce lead status"}),(0,jt.jsx)("li",{children:"Contact opts out \u2192 Update opt-out status in CRM"})]}),(0,jt.jsx)("h3",{children:"Bulk Import from Google Sheets"}),(0,jt.jsx)("p",{children:"Migrate existing contact lists to DataFlows:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Prepare Google Sheet with columns: Phone, First Name, Last Name, Email, Groups, Tags"}),(0,jt.jsx)("li",{children:"Trigger: Google Sheets - New/Updated Row"}),(0,jt.jsx)("li",{children:'Use "Looping by Zapier" to process multiple rows'}),(0,jt.jsx)("li",{children:"Add delays to respect API rate limits (1 second between creates)"}),(0,jt.jsx)("li",{children:"Mark processed rows to avoid duplicates"})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section related-features","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Related DataFlows Features"}),(0,jt.jsxs)("div",{className:"related-cards",children:[(0,jt.jsxs)(fe,{to:"/integrations/zapier/actions/send-sms",className:"related-card",children:[(0,jt.jsx)("h4",{children:"Send SMS"}),(0,jt.jsx)("p",{children:"Send automated SMS messages to your contacts from 6,000+ apps. Perfect for order confirmations, reminders, and alerts."}),(0,jt.jsx)("span",{className:"feature-type",children:"Action"})]}),(0,jt.jsxs)(fe,{to:"/integrations/zapier/triggers/new-sms-received",className:"related-card",children:[(0,jt.jsx)("h4",{children:"New SMS Received"}),(0,jt.jsx)("p",{children:"Trigger automations when contacts reply to your SMS messages. Enable two-way conversations."}),(0,jt.jsx)("span",{className:"feature-type",children:"Trigger"})]}),(0,jt.jsxs)(fe,{to:"/integrations/zapier/actions/analyse-sentiment-ai",className:"related-card",children:[(0,jt.jsx)("h4",{children:"Analyse SMS Sentiment With AI"}),(0,jt.jsx)("p",{children:"Use AI to detect customer emotions in SMS messages. Route angry customers to 
2senior support automatically."}),(0,jt.jsx)("span",{className:"feature-type",children:"Action"})]})]})]}),(0,jt.jsx)("section",{className:"feature-section cta-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cta-content",children:[(0,jt.jsx)("h2",{children:"Ready to Automate Your Contact Management?"}),(0,jt.jsx)("p",{children:"Join hundreds of Australian businesses using DataFlows + Zapier to build and manage SMS contact lists automatically."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://zapier.com/apps/dataflows-sms/integrations",target:"_blank",rel:"noopener noreferrer",className:"btn-primary",children:"Get Started with Zapier"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"btn-secondary",children:"View All Features"})]})]})})]}),(0,jt.jsx)(bt,{}),t&&(0,jt.jsx)("button",{onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},className:"scroll-to-top","aria-label":"Scroll to top",children:"\u2191"})]})},jh=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const n=[{title:"Automated Customer Support Ticket Routing",industry:"Customer Support",description:"Automatically categorise incoming Australian customer SMS messages and route to the correct department or support team.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'My internet has been down for 3 hours!'","AI categorises message \u2192 Category: Technical Support, Subcategory: Internet Outage, Urgency: High","Create Zendesk ticket in 'Technical Support' queue with High priority","Assign to on-call technical team member","Send Slack alert to #tech-support channel","Auto-reply SMS: 'Technical support notified. We'll call you within 15 minutes.'"]},{title:"Product Enquiry Classification for Retail",industry:"Retail & E-commerce",description:"Classify Australian customer product enquiries by category, intent, and priority for better sales response.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'Do you have the Nike Air Max in size 10?'","AI categorises \u2192 Category: Product Enquiry, Product Type: Footwear, Brand: Nike, Intent: Purchase","Check inventory system for Nike Air Max size 10","If in stock: SMS 
2with availability and store location","If out of stock: SMS with alternatives and restock date","Log enquiry in Salesforce with category tags"]},{title:"Medical Appointment Request Categorisation",industry:"Healthcare",description:"Automatically categorise patient SMS requests by urgency, department, and appointment type for Australian healthcare practices.",trigger:"DataFlows SMS - New SMS Received",steps:["Patient sends SMS: 'I need to see Dr. Smith about my test results'","AI categorises \u2192 Category: Appointment Request, Doctor: Dr. Smith, Type: Follow-up, Urgency: Medium","Check Dr. Smith's calendar for next available follow-up slot","Send SMS: 'Dr. Smith available Thursday 2:30 PM or Friday 10 AM. Reply 1 for Thu or 2 for Fri.'","Patient reply triggers booking confirmation","Add to practice management system with category tags"]},{title:"Real Estate Enquiry Segmentation",industry:"Real Estate",description:"Categorise Australian property enquiries by type, budget range, and urgency to prioritise agent follow-up.",trigger:"DataFlows SMS - New SMS Received",steps:["Prospect sends SMS: 'Interested in 123 Smith St. Looking for 3BR under $1M in Sydney'","AI categorises \u2192 Category: Property Enquiry, Property: 123 Smith St, Bedrooms: 3, Budget: Under $1M, Location: Sydney, Intent: Serious Buyer","Assign lead score based on category (3BR + $1M budget = High value)","Alert agent via SMS with prospect details and category tags","Add to CRM with tags: Budget: $1M, Location: Sydney, Urgency: High","Agent calls prospect within 5 minutes"]},{title:"Event Registration Category Routing",industry:"Events & Conferences",description:"Categorise event-related SMS enquiries to route to tickets, venue, catering, or logistics teams.",trigger:"DataFlows SMS - New SMS Received",steps:["Attendee sends SMS: 'I have a dietary requirement - gluten free. How do I update my registration?'","AI categorises \u2192 Category: Event Enquiry, Topic: Dietary Requirements, Department: Catering, Urgency: Medium","Create task for catering team in Asana","Send SMS: 'Thanks! Our catering team will email you a dietary form within the hour.'","Notify [email protected] with attendee details","Log in event management system under 'Catering Requests'"]},{title:"Restaurant Reservation & Enquiry Categorisation",industry:"Hospitality",description:"Automatically categorise Australian restaurant SMS messages by type: bookings, menu enquiries, feedback, or complaints.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'Can I book a table for 6 people Saturday night?'","AI categorises \u2192 Category: Reservation Request, Party Size: 6, Date: Saturday, Intent: Book","Check OpenTable for Saturday availability","Send SMS: 'Available at 6:30 PM or 8:00 PM Saturday. Reply 1 for 6:30 or 2 for 8:00.'","Customer reply triggers automatic booking creation","Confirmation SMS sent with booking details"]},{title:"Feedback & Complaint Categorisation System",industry:"Customer Experience",description:"Categorise Australian customer feedback by type, sentiment, and department for better response management.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'Your delivery driver was rude and my order was cold!'","AI categorises \u2192 Category: Complaint, Topic: Delivery Service + Food Quality, Sentiment: Negative, Urgency: High","Create priority support ticket in Zendesk","Alert customer success manager via Slack","Auto-reply SMS: 'We're very sorry! Manager will call you within 10 minutes.'","Log in complaints dashboard for trend analysis"]},{title:"Lead Source & Intent Classification",industry:"Sales & Marketing",description:"Categorise inbound Australian sales enquiries by product interest, budget, and purchase intent for better lead qualification.",trigger:"DataFlows SMS - New SMS Received",steps:["Lead sends SMS: 'I saw your ad for enterprise software. Need solution for 50+ users. Budget approved.'","AI categorises \u2192 Category: Sales Enquiry, Product: Enterprise Software, Company Size: 50+ users, Budget Status: Approved, Intent: High","Calculate lead score: Enterprise (5 pts) + 50 users (4 pts) + Budget approved (5 pts) = 14/15 (Hot Lead)","Immediately assign to senior sales rep","Alert via phone call + SMS to sales rep","Create Salesforce opportunity with category: Hot Lead - Enterprise"]},{title:"Delivery Issue Categorisation for Logistics",industry:"Logistics & Delivery",description:"Automatically categorise delivery-related SMS messages by issue type, urgency, and required action.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'Package not delivered today. Tracking says delivered but I never received it.'","AI categorises \u2192 Category: Delivery Issue, Type: Missing Package, Urgency: High, Action Required: Investigation","Create urgent case in delivery management system","Alert local depot manager and driver","Send SMS: 'Investigating immediately. Depot manager will call within 30 minutes.'","
2Escalate to senior ops if not resolved in 2 hours"]},{title:"Financial Enquiry Categorisation for Banking",industry:"Banking & Finance",description:"Categorise Australian customer banking SMS enquiries by type, account, and urgency for compliance and routing.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'I see a $500 charge I don't recognise on my credit card'","AI categorises \u2192 Category: Fraud Concern, Account Type: Credit Card, Amount: $500, Urgency: Critical","Immediately flag account for fraud review","Create high-priority case in fraud prevention system","Send SMS: 'Security team notified. Freezing card now. We'll call you in 5 minutes.'","Alert fraud team via phone + email with category: Potential Fraud - Credit Card"]},{title:"IT Help Desk Ticket Auto-Categorisation",industry:"IT & Managed Services",description:"Automatically categorise IT support requests from Australian clients by issue type, severity, and SLA priority.",trigger:"DataFlows SMS - New SMS Received",steps:["Client sends SMS: 'Email server down for entire Sydney office - 40 staff affected'","AI categorises \u2192 Category: IT Issue, Type: Email Server, Severity: Critical, Affected Users: 40, Location: Sydney Office","Create P1 (Priority 1) ticket in ServiceNow","Alert on-call engineer via phone + SMS","Notify client: 'P1 ticket created. Engineer John responding now. ETA: 10 minutes.'","Escalate to senior engineer if not resolved in 30 minutes per SLA"]},{title:"Educational Enquiry Categorisation for Schools",industry:"Education",description:"Categorise parent/student enquiries for Australian schools by topic, grade level, and department.",trigger:"DataFlows SMS - New SMS Received",steps:["Parent sends SMS: 'My daughter is sick today. Year 7. Won't be at school.'","AI categorises \u2192 Category: Absence Notification, Student: Year 7, Reason: Illness, Department: Attendance Office","Log absence in school management system","Notify Year 7 homeroom teacher","Send SMS confirmation: 'Absence recorded. Hope she feels better soon!'","Add to attendance report for the day"]}];return(0,jt.jsxs)("div",{className:"zapier-feature-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Categorise SMS With AI via Zapier - DataFlows SMS Integration Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Automatically categorise SMS messages with AI in Zapier. Route support tickets, classify enquiries, and prioritise messages by intent. Australian SMS AI automation."}),(0,jt.jsx)("meta",{property:"og:title",content:"Categorise SMS With AI via Zapier - DataFlows SMS Integration Australia"}),(0,jt.jsx)("meta",{property:"og:description",content:"Automatically categorise SMS messages with AI in Zapier. Route support tickets, classify enquiries, and prioritise messages by intent. Australian SMS AI automation."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/zapier/actions/categorise-sms-ai")})]}),(0,jt.jsxs)("div",{className:"zapier-feature-hero","data-aos":"fade-down",children:[(0,jt.jsx)("div",{className:"breadcrumbs-wrapper",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Zapier",path:"/integrations/zapier"},{label:"Categorise SMS With AI"}]})}),(0,jt.jsx)("h1",{className:"zapier-feature-title",children:"Categorise SMS With AI"}),(0,jt.jsx)("p",{className:"zapier-feature-subtitle",children:"Automatically categorise and classify SMS messages using artificial intelligence. Perfect for Australian businesses needing smart message routing, support ticket categorisation, and intent detection."}),(0,jt.jsxs)("div",{className:"zapier-feature-badge",children:[(0,jt.jsx)("span",{className:"badge-type",children:"Action"}),(0,jt.jsx)("span",{className:"badge-separator",children:"\u2022"}),(0,jt.jsx)("span",{className:"badge-plan",children:"Pro & Enterprise Plans"})]})]}),(0,jt.jsxs)("div",{className:"zapier-feature-content",children:[(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"What Does This Action Do?"}),(0,jt.jsxs)("p",{className:"feature-description",children:["The ",(0,jt.jsx)("strong",{children:"Categorise SMS With AI"})," action uses advanced artificial intelligence to automatically classify incoming SMS messages into categories, topics, intents, and urgency levels. Perfect for Australian businesses that need to route customer messages to the right team, prioritise urgent requests, or automate support workflows based on message content."]}),(0,jt.jsx)("div",{className:"feature-highlight",children:(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Popular Australian Use Cases:"})," Support ticket routing, product enquiry classification, appointment request categorisation, lead qualification, complaint detection, delivery issue sorting, and department-based message routing."]})})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"How It Works"}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"1"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"SMS Received as Trigger"}),(0,jt.jsx)("p",{children:'Use the "New SMS Received" trigger to capture incoming customer messages. Each SMS is passed to the AI categorisation action.'})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"2"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"AI Analyses Message Content"}),(0,jt.jsx)("p",{children:"DataFlows AI reads the SMS text and intelligently categorises it based on your custom category definitions or our pre-built templates."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"3"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Returns Category & Metadata"}),(0,jt.jsx)("p",{children:"Action outputs: Primary Category, Subcategory, Intent, Urgency Level, Confidence Score, and Suggested Action. Use these in subsequent Zap steps."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"4"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Route & Automate Based on Category"}),(0,jt.jsx)("p",{children:"Use Zapier Paths/Filters to route messages: High urgency \u2192 Call manager, Product enquiry \u2192 Sales CRM, Complaint \u2192 Support ticket, etc."})]})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"AI Categorisation Output Fields"}),(0,jt.jsxs)("div",{className:"config-fields",children:[(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsx)("h4",{children:"Primary Category"}),(0,jt.jsx)("p",{children:'The main classification of the message. Examples: "Support Request", "Product Enquiry", "Complaint", "Appointment Request", "Feedback", "Sales Lead".'})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsx)("h4",{children:"Subcategory"}),(0,jt.jsx)("p",{children:'More specific classification within primary category. Examples: "Technical Issue - Internet", "Billing Question", "Delivery Concern", "Urgent Medical".'})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsx)("h4",{children:"Intent"}),(0,jt.jsx)("p",{children:'Customer\'s underlying intention. Examples: "Purchase", "Get Information", "Report Problem", "Request Callback", "Cancel Service", "Provide Feedback".'})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsx)("h4",{children:"Urgency Level"}),(0,jt.jsx)("p",{children:'Assessed priority: "Critical", "High", "Medium", "Low". Helps prioritise response. Critical = immediate action needed, Low = can wait 24+ hours.'})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsx)("h4",{children:"Confidence Score"}),(0,jt.jsxs)("p",{children:["AI's certainty in the categorisation (0.0 to 1.0). Higher = more confident. Use to filter: only auto-route if confidence ",">"," 0.8, otherwise escalate to human."]})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsx)("h4",{children:"Suggested Action"}),(0,jt.jsx)("p",{children:'AI\'s recommendation for next step. Examples: "Create support ticket", "Assign to sales team", "Schedule callback", "Offer refund", "Escalate to manager".'})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsx)("h4",{children:"Detected Topics"}),(0,jt.jsx)("p",{children:'Key topics/keywords identified. Examples: "Billing, Late Payment", "Product: Nike Air Max, Size 10", "Complaint, Rude Staff, Refund Request". Useful for tagging.'})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsx)("h4",{children:"Department"}),(0,jt.jsx)("p",{children:'Recommended department for routing. Examples: "Technical Support", "Sales", "Billing", "Customer Success", "Warehouse", "HR". Based on your organisation structure.'})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Action Configuration Options"}),(0,jt.jsxs)("div",{className:"config-fields",children:[(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Message Text ",(0,jt.jsx)("span",{className:"required-badge",children:"Required"})]}),(0,jt.jsxs)("p",{children:['The SMS message content to categorise. Typically mapped from "New SMS Received" trigger: ',"{","{"," Message Text ","}","}","."]})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Category Template ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:'Choose from pre-built templates: "Customer Support", "Retail Enquiries", "Healthcare", "Real Estate", "General Business". Or 
2create custom categories.'})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Custom Categories ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:'Define your own category list (comma-separated): "Technical Support, Billing Question, Sales Enquiry, Complaint, Feedback". AI will classify into these.'})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Include Sentiment ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:"Also run sentiment analysis alongside categorisation. Returns: Positive/Negative/Neutral + Emotion. Useful for complaint detection."})]}),(0,jt.jsxs)("div",{className:"config-field",children:[(0,jt.jsxs)("h4",{children:["Language ",(0,jt.jsx)("span",{className:"optional-badge",children:"Optional"})]}),(0,jt.jsx)("p",{children:'Message language. Defaults to "English (Australian)". Also supports: English (US/UK), Mandarin, Vietnamese, Arabic, Spanish. AI adjusts for dialects.'})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section use-cases-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Real-World Australian Use Cases"}),(0,jt.jsxs)("p",{className:"section-intro",children:["Here are ",n.length," proven ways Australian businesses use AI categorisation to automate message routing and improve response times:"]}),n.map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-card","data-aos":"fade-up","data-aos-delay":50*t,children:[(0,jt.jsxs)("div",{className:"use-case-header",children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("span",{className:"industry-tag",children:e.industry})]}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsxs)("div",{className:"use-case-trigger",children:[(0,jt.jsx)("strong",{children:"Trigger:"})," ",e.trigger]}),(0,jt.jsxs)("div",{className:"workflow-breakdown",children:[(0,jt.jsx)("h4",{children:"Workflow Breakdown:"}),(0,jt.jsx)("ol",{className:"workflow-steps-list",children:e.steps.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]})]},t)))]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Quick Setup Guide"}),(0,jt.jsxs)("div",{className:"setup-steps",children:[(0,jt.jsx)("h3",{children:"Step 1: Set Up New SMS Received Trigger"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Create new Zap in Zapier"}),(0,jt.jsx)("li",{children:'Search for "DataFlows SMS" and select it'}),(0,jt.jsx)("li",{children:'Choose trigger: "New SMS Received"'}),(0,jt.jsx)("li",{children:"Connect your DataFlows account"}),(0,jt.jsx)("li",{children:"Test trigger to get sample SMS data"})]}),(0,jt.jsx)("h3",{children:"Step 2: Add Categorise SMS With AI Action"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click "+" to add action step'}),(0,jt.jsx)("li",{children:'Search for "DataFlows SMS" and select it'}),(0,jt.jsx)("li",{children:'Choose action: "Categorise SMS With AI"'}),(0,jt.jsx)("li",{children:"Your DataFlows account should already be connected"}),(0,jt.jsx)("li",{children:'Click "Continue"'})]}),(0,jt.jsx)("h3",{children:"Step 3: Configure AI Categorisation"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Message Text:"})," Map the message from trigger: ","{","{"," Message Text ","}","}"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Category Template:"}),' Choose pre-built template or select "Custom"']}),(0,jt.jsxs)("li",{children:["If using custom categories, enter your list:",(0,jt.jsx)("div",{className:"code-example",children:"Technical Support, Billing Question, Sales Enquiry, Product Question, Complaint, General Feedback"})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Include Sentiment:"})," Toggle ON if you want emotion detection too"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Language:"}),' Select "English (Australian)" or leave default']}),(0,jt.jsx)("li",{children:'Click "Continue"'})]}),(0,jt.jsx)("h3",{children:"Step 4: Test AI Categorisation"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click "Test action" to run AI on your sample SMS'}),(0,jt.jsxs)("li",{children:["Review the output fields:",(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:'Primary Category (e.g., "Support Request")'}),(0,jt.jsx)("li",{children:'Subcategory (e.g., "Technical Issue - Internet")'}),(0,jt.jsx)("li",{children:'Intent (e.g., "Report Problem")'}),(0,jt.jsx)("li",{children:'Urgency Level (e.g., "High")'}),(0,jt.jsx)("li",{children:"Confidence Score (e.g., 0.91)"}),(0,jt.jsx)("li",{children:'Suggested Action (e.g., "Create urgent support ticket")'})]})]}),(0,jt.jsx)("li",{children:"Verify the AI categorised correctly. If not, refine your custom categories."})]}),(0,jt.jsx)("h3",{children:"Step 5: Add Routing Logic Based on Category"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click "+" to add next step'}),(0,jt.jsx)("li",{children:'Choose "Paths by Zapier" for conditional routing based on category'}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path A: High Urgency Messages"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:'Condition: Urgency Level = "Critical" OR "High"'}),(0,jt.jsx)("li",{children:"Actions: Create urgent ticket + Alert manager via phone call + SMS customer"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path B: Sales Enquiries"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:'Condition: Primary Category = "Sales Lead" OR "Product Enquiry"'}),(0,jt.jsx)("li",{children:"Actions: Create Salesforce lead + Assign to sales rep + SMS confirmation"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path C: Complaints"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:'Condition: Primary Category = "Complaint" OR Sentiment = "Negative"'}),(0,jt.jsx)("li",{children:"Actions: Escalate to customer success + Offer apology + Pri
2ority follow-up"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path D: General Enquiries"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:'Condition: Everything else (Urgency = "Low" or "Medium")'}),(0,jt.jsx)("li",{children:"Actions: Create standard ticket + SMS with expected response time"})]})]})]}),(0,jt.jsx)("h3",{children:"Step 6: Activate & Monitor"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Turn on your Zap"}),(0,jt.jsx)("li",{children:"Monitor Zap history to see how messages are being categorised"}),(0,jt.jsx)("li",{children:"Check categorisation accuracy after first 50-100 messages"}),(0,jt.jsx)("li",{children:"Refine custom categories if needed based on real data"}),(0,jt.jsx)("li",{children:"Track metrics: Average confidence score, category distribution, routing effectiveness"})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Best Practices for Australian Businesses"}),(0,jt.jsxs)("div",{className:"best-practices",children:[(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Start With Pre-Built Templates"}),(0,jt.jsx)("p",{children:"Use DataFlows' pre-built category templates for your industry first. They're trained on thousands of real messages. Customise later if needed."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Keep Custom Categories Clear & Distinct"}),(0,jt.jsx)("p",{children:'Define 5-10 categories maximum with clear differences. Avoid overlap: "Technical Support" and "IT Issues" are too similar. AI works best with distinct categories.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Use Confidence Score for Human Escalation"}),(0,jt.jsxs)("p",{children:["Only auto-route messages with confidence ",">","= 0.75. Lower confidence? Send to human for manual categorisation. Prevents mis-routing critical messages."]})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Combine with Sentiment Analysis"}),(0,jt.jsx)("p",{children:'Enable "Include Sentiment" to catch angry customers even if category is neutral. Example: "Product Enquiry" + "Negative Sentiment" = Unhappy customer, prioritise!'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Route Critical Urgency to Humans Immediately"}),(0,jt.jsx)("p",{children:'When Urgency = "Critical", bypass automation and alert humans via phone/SMS. Examples: "Server down", "Medical emergency", "Security breach".'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Log All Categorisations for Analysis"}),(0,jt.jsx)("p",{children:'Send category data to Google Sheets or Airtable: Message, Category, Confidence, Timestamp. Helps identify trends: "50% of messages are billing questions - need FAQ".'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Test with Real Australian Language"}),(0,jt.jsx)("p",{children:'AI is trained on Australian English ("mobile" not "cell", "organisation" not "organization"). Test with real Aussie customer messages for accuracy.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Use Suggested Action Field"}),(0,jt.jsx)("p",{children:'Don\'t ignore this! AI recommends next steps based on message content. Use in Paths: If Suggested Action = "Escalate to manager", trigger manager alert.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Review & Refine Categories Monthly"}),(0,jt.jsx)("p",{children:'After 30 days, analyse category distribution. If 80% fall into "Other" or "General", your categories are too specific. Adjust based on real data patterns.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h4",{children:"\u2705 Handle Multi-Topic Messages"}),(0,jt.jsx)("p",{children:'Some messages cover multiple topics: "I want to buy your product but I\'m also unhappy with previous purchase". Check Detected Topics field for all themes.'})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Advanced Automation Tips"}),(0,jt.jsxs)("div",{className:"advanced-tips",children:[(0,jt.jsx)("h3",{children:"Multi-Tier Routing Based on Category + Sentiment"}
2),(0,jt.jsx)("p",{children:"Create sophisticated routing logic combining multiple AI outputs:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Tier 1 (Immediate):"})," Urgency = Critical OR (Category = Complaint AND Sentiment = Negative)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Tier 2 (2 hour SLA):"})," Urgency = High OR Category = Sales Lead"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Tier 3 (24 hour SLA):"})," Urgency = Medium AND Sentiment = Neutral"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Tier 4 (48 hour SLA):"})," Urgency = Low AND Category = General Enquiry"]})]}),(0,jt.jsx)("h3",{children:"Dynamic CRM Field Population"}),(0,jt.jsx)("p",{children:"Use category data to auto-populate CRM fields:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Primary Category \u2192 Salesforce Lead Source"}),(0,jt.jsx)("li",{children:"Detected Topics \u2192 HubSpot Contact Tags"}),(0,jt.jsx)("li",{children:"Urgency Level \u2192 Support Ticket Priority"}),(0,jt.jsx)("li",{children:'Intent \u2192 Pipeline Stage (Purchase Intent = "Hot Lead" stage)'})]}),(0,jt.jsx)("h3",{children:"Category-Based Auto-Responses"}),(0,jt.jsx)("p",{children:"Send different SMS replies based on category:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:'Support Request \u2192 "Ticket #1234 created. Response in 2 hours."'}),(0,jt.jsx)("li",{children:'Sales Enquiry \u2192 "Thanks! Sales rep will call within 30 mins."'}),(0,jt.jsx)("li",{children:'Billing Question \u2192 "Billing team notified. Reply in 24 hours."'}),(0,jt.jsx)("li",{children:'Complaint \u2192 "We\'re very sorry! Manager will call you within 15 minutes."'})]}),(0,jt.jsx)("h3",{children:"AI Training Feedback Loop"}),(0,jt.jsx)("p",{children:"Improve AI accuracy over time:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Log all categorisations to Google Sheets with columns: Message, AI Category, Human Review, Correct?"}),(0,jt.jsx)("li",{children:"Staff review and mark incorrect categorisations"}),(0,jt.jsx)("li",{children:"Weekly: Identify patterns in mis-categorisations"}),(0,jt.jsx)("li",{children:"Adjust custom category definitions based on errors"}),(0,jt.jsx)("li",{children:"Re-test with historical messages to verify improvement"})]}),(0,jt.jsx)("h3",{children:"Department-Specific Zaps"}),(0,jt.jsx)("p",{children:"Create separate Zaps for each department based on category routing:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Sales Zap:"})," Filter for Category = Sales Lead \u2192 Salesforce \u2192 Assign rep \u2192 Call within 5 mins"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Support Zap:"})," Filter for Category = Support \u2192 Zendesk \u2192 Route by subcategory \u2192 SLA timer"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Billing Zap:"})," Filter for Category = Billing \u2192 Xero lookup \u2192 Send account statement SMS"]})]}),(0,jt.jsx)("h3",{children:"Compliance & Audit Trail"}),(0,jt.jsx)("p",{children:"For regulated industries (healthcare, finance):"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Log every message + category + confidence to immutable database"}),(0,jt.jsx)("li",{children:"Include timestamp, staff assigned, response time"}),(0,jt.jsx)("li",{children:'Use Category = "Compliance Risk" to trigger legal review'}),(0,jt.jsx)("li",{children:"Monthly reports: Category trends, response times by urgency, escalation rates"})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Common Issues & Solutions"}),(0,jt.jsxs)("div",{className:"troubleshooting",children:[(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsxs)("h4",{children:["\u274c Low Confidence Scores (","<"," 0.5)"]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Your custom categories may be too similar or ambiguous. Make them more distinct."}),(0,jt.jsx)("li",{children:'Messages are too short or vague ("Hi", "Thanks") - add filter to require minimum 10 characters'}),(0,jt.jsx)("li",{children:"Switch to pre-built template instead of custom categories"}),(0,jt.jsx)("li",{children:"Route low-confidence messages to human review instead of auto-processing"})]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c AI Choosing Wrong Category Consistently"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Review your category definitions - are they clear and distinct?"}),(0,jt.jsx)("li",{children:"Reduce number of categories (aim for 5-8 max)"}),(0,jt.jsx)("li",{children:"Provide more context: Include previous message history if available"}),(0,jt.jsx)("li",{children:"Use pre-built industry template which has better training data"})]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:'\u274c Most Messages Categorised as "General" or "Other"'}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Solution:"}),' Your categories are too specific. Broaden them. Instead of "Technical Issue - Internet - Router Not Working", use "Technical Support". Let subcategory handle specifics.']})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:"\u274c Non-English Messages Not Categorising Well"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Solution:"})," Set the Language field to match your messages (Mandarin, Vietnamese, Arabic, etc.). AI accuracy drops significantly if language mismatch."]})]}),(0,jt.jsxs)("div",{className:"issue-solution",children:[(0,jt.jsx)("h4",{children:'\u274c Urgency Always Returns "Medium"'}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Note:"}
2),' AI assesses urgency based on message content keywords ("urgent", "asap", "emergency", "broken", "not working"). If customers don\'t use urgency language, most will be "Medium". Consider using sentiment as additional urgency signal.']})]})]})]}),(0,jt.jsxs)("section",{className:"feature-section related-features","data-aos":"fade-up",children:[(0,jt.jsx)("h2",{children:"Related DataFlows Features"}),(0,jt.jsxs)("div",{className:"related-cards",children:[(0,jt.jsxs)(fe,{to:"/integrations/zapier/actions/analyse-sentiment-ai",className:"related-card",children:[(0,jt.jsx)("h4",{children:"Analyse SMS Sentiment With AI"}),(0,jt.jsx)("p",{children:"Detect customer emotions (happy, angry, frustrated) in SMS messages. Perfect for complaint detection and customer experience monitoring."}),(0,jt.jsx)("span",{className:"feature-type",children:"Action"})]}),(0,jt.jsxs)(fe,{to:"/integrations/zapier/triggers/new-sms-received",className:"related-card",children:[(0,jt.jsx)("h4",{children:"New SMS Received"}),(0,jt.jsx)("p",{children:"Trigger your Zaps when customers send SMS messages. The starting point for AI categorisation workflows."}),(0,jt.jsx)("span",{className:"feature-type",children:"Trigger"})]}),(0,jt.jsxs)(fe,{to:"/integrations/zapier/actions/send-sms",className:"related-card",children:[(0,jt.jsx)("h4",{children:"Send SMS"}),(0,jt.jsx)("p",{children:"Send automated SMS responses based on message category. Perfect for category-specific auto-replies."}),(0,jt.jsx)("span",{className:"feature-type",children:"Action"})]})]})]}),(0,jt.jsx)("section",{className:"feature-section cta-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cta-content",children:[(0,jt.jsx)("h2",{children:"Ready to Automate Message Categorisation With AI?"}),(0,jt.jsx)("p",{children:"Join Australian businesses using DataFlows AI to automatically route, prioritise, and categorise thousands of SMS messages every day."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://zapier.com/apps/dataflows-sms/integrations",target:"_blank",rel:"noopener noreferrer",className:"btn-primary",children:"Get Started with Zapier"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"btn-secondary",children:"View All Features"})]})]})})]}),(0,jt.jsx)(bt,{}),t&&(0,jt.jsx)("button",{onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},className:"scroll-to-top","aria-label":"Scroll to top",children:"\u2191"})]})},wh=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);return(0,jt.jsxs)("div",{className:"zapier-feature-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"New SMS Received Trigger - DataFlows Zapier | SMS Webhook Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Automate workflows when SMS received on your Australian number. Real-time SMS webhooks, instant triggers, no polling delays. SMS gateway Australia, SMS API, receive SMS Australia. Perfect for customer support, appointments, orders."}),(0,jt.jsx)("meta",{name:"keywords",content:"SMS gateway Australia, SMS API Australia, receive SMS Australia, SMS webhook, real-time SMS, SMS automation Australia, inbound SMS trigger, SMS integration Zapier, Australian SMS service, business SMS Australia"}),(0,jt.jsx)("meta",{property:"og:title",content:"New SMS Received Trigger for Australian Businesses - DataFlows Zapier"}),(0,jt.jsx)("meta",{property:"og:description",content:"Instantly trigger Zapier workflows when customers text your Australian business number. Automate support tickets, appointments, orders, and more with real-time SMS webhooks."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/zapier/triggers/new-sms-received")})]}),(0,jt.jsx)("div",{className:"feature-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Zapier",path:"/integrations/zapier"},{label:"New SMS Received"}]})})}),(0,jt.jsx)("section",{className:"feature-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("div",{className:"hero-badge",children:"Real-Time Webhook Trigger"}),(0,jt.jsx)("h1",{children:"New SMS Received"}),(0,jt.jsx)("p",{className:"hero-subtitle",children:"Instantly trigger Zapier workflows when customers text your Australian business number. Automate customer support, appointment confirmations, order enquiries, and two-way conversations with real-time SMS webhooks\u2014no polling delays."}),(0,jt.jsxs)("div",{className:"hero-stats",children:[(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"Instant"}),(0,jt.jsx)("div",{className:"stat-label",children:"Webhook Delivery"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"6"}),(0,jt.jsx)("div",{className:"stat-label",children:"Data Fields"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"24/7"}),(0,jt.jsx)("div",{className:"stat-label",children:"Monitoring"})]})]})]})}),(0,jt.jsx)("section",{className:"feature-overview","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"What Is the New SMS Received Trigger?"}),(0,jt.jsx)("p",{className:"section-intro",children:"The New SMS Received trigger is a powerful Zapier integration that automatically fires your workflows the moment an SMS message arrives at your DataFlows virtual Australian number. Unlike polling-based triggers that check for new messages every 5-15 minutes, our webhook-based trigger delivers messages to Zapier instantly\u2014typically within 1-2 seconds of receipt. This real-time capability makes it perfect for time-sensitive Australian business communications like customer support, appointment confirmations, order status requests, and emergency notifications."}),(0,jt.jsxs)("div",{className:"overview-grid",children:[(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\u26a1"}),(0,jt.jsx)("h3",{children:"Instant Webhook Delivery"}),(0,jt.jsx)("p",{children:"No polling delays. Messages arrive in Zapier within 1-2 seconds of being sent, enabling real-time customer service and immediate automated responses for Australian businesses."}),(0,jt.jsxs)("div",{className:"emotion-tags",children:[(0,jt.jsx)("span",{children:"Real-Time"}),(0,jt.jsx)("span",{children:"No Delays"}),(0,jt.jsx)("span",{children:"Always On"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\udcca"}),(0,jt.jsx)("h3",{children:"Complete Message Data"}),(0,jt.jsx)("p",{children:"Receive all message details including sender number, recipient number, message content, unique message ID, and precise timestamp\u2014everything you need to build sophisticated SMS workflows."}),(0,jt.jsxs)("div",{className:"emotion-tags neutral",children:[(0,jt.jsx)("span",{children:"Message ID"}),(0,jt.jsx)("span",{children:"From/To Numbers"}),(0,jt.jsx)("span",{children:"Content"}),(0,jt.jsx)("span",{children:"Timestamp"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83c\udde6\ud83c\uddfa"}),(0,jt.jsx)("h3",{children:"Australian Number Support"}),(0,jt.jsx)("p",{children:"Designed for Australian businesses with local virtual numbers. Receive SMS from any Australian mobile or landline, with numbers formatted in standard E.164 international format (+614XX XXX XXX)."}),(0,jt.jsxs)("div",{className:"emotion-tags",children:[(0,jt.jsx)("span",{children:"AU Numbers"}),(0,jt.jsx)("span",{children:"E.164 Format"}),(0,jt.jsx)("span",{children:"Local Service"})]})]})]}),(0,jt.jsxs)("div",{className:"overview-grid",style:{marginTop:"2rem"},children:[(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\udd04"}),(0,jt.jsx)("h3",{children:"Two-Way Communication"}),(0,jt.jsx)("p",{children:"Combine with the Send SMS action to create interactive two-way conversations. Auto-reply to customers, send confirmations, request additional information, and maintain ongoing SMS dialogues."}),(0,jt.jsxs)("div",{className:"emotion-tags",children:[(0,jt.jsx)("span",{children:"Auto-Reply"}),(0,jt.jsx)("span",{children:"Interactive"}),(0,jt.jsx)("span",{children:"Conversational"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\udd17"}),(0,jt.jsx)("h3",{children:"6,000+ App Integrations"}),(0,jt.jsx)("p",{children:"Connect incoming SMS to any of Zapier's 6,000+ apps. Create support tickets in Zendesk, log to Google Sheets, send Slack notifications, update CRM records, and countless other automations."}),(0,jt.jsxs)("div",{className:"emotion-tags neutral",children:[(0,jt.jsx)("span",{children:"Zendesk"}),(0,jt.jsx)("span",{children:"Slack"}),(0,jt.jsx)("span",{children:"Sheets"}),(0,jt.jsx)("span",{children:"HubSpot"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\udcf1"}),(0,jt.jsx)("h3",{children:"Long Message Support"}),(0,jt.jsx)("p",{children:"Handles standard SMS (160 chars), long concatenated messages (multiple parts), and even messages with emojis and special characters. Australian customers can send messages of any length."}),(0,jt.jsxs)("div",{className:"emotion-tags",children:[(0,jt.jsx)("span",{children:"Any Length"}),(0,jt.jsx)("span",{children:"Unicode"}),(0,jt.jsx)("span",{children:"Emojis"})]})]})]})]})}),(0,jt.jsx)("section",{className:"how-it-works","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How the New SMS Received Trigger Works"}),(0,jt.jsx)("p",{className:"section-intro",children:"DataFlows SMS uses instant webhook technology to deliver incoming messages to your Zapier workflows in real-time. Here's exactly what happens when a customer texts your Australian business number."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"1"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Customer Sends SMS"}),(0,jt.jsx)("p",{children:"A customer texts your DataFlows virtual Australian number from their mobile phone. The message is received by the Australian telecommunications network and routed to DataFlows."}),(0,jt.jsxs)("div",{className:"code-example",children:["Customer's phone: +61412345678",(0,jt.jsx)("br",{}),"Your business number: +61400123456",(0,jt.jsx)("br",{}),'Message: "Hi, I need help with order #12345"']})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"2"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"DataFlows Receives SMS"}),(0,jt.jsx)("p",{children:"DataFlows SMS gateway receives the message through our Australian carrier connections. The message is processed, validated, and prepared for delivery to your integrations."}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Message is logged with unique ID for tracking and auditing"}),(0,jt.jsx)("li",{children:"Phone numbers are standardised to E.164 format (+61...)"}),(0,jt.jsx)("li",{children:"Timestamp is recorded in UTC for consistent timezone handling"}),(0,jt.jsx)("li",{children:"Message content is preserved exactly as sent (including emojis)"})]})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"3"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Webhook Fires to Zapier"}),(0,jt.jsx)("p",{children:"DataFlows instantly sends a webhook to Zapier with complete message data. This happens in real-time (1-2 seconds) with no polling delays."}),(0,jt.jsxs)("div",{className:"code-example",children:['id: "sms_abc123xyz789"',(0,jt.jsx)("br",{}),'message_id: "msg_987654321"',(0,jt.jsx)("br",{}),'from: "+61412345678"',(0,jt.jsx)("br",{}),'to: "+61400123456"',(0,jt.jsx)("br",{}),'message: "Hi, I need help with order #12345"',(0,jt.jsx)("br",{}),'received_at: "2024-11-15T04:23:17Z"']})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"4"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Your Workflow Runs"}),(0,jt.jsx)("p",{children:"Zapier executes your configured workflow using the message data. You can filter, format, route, and process the message with unlimited possibilities."}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Extract order number from message using text formatters"}),(0,jt.jsx)("li",{children:"Look up customer in your CRM using the phone number"}),(0,jt.jsx)("li",{children:"Create support ticket with message content and customer details"}),(0,jt.jsx)("li",{children:"Send automated SMS reply confirming receipt"}),(0,jt.jsx)("li",{children:"Notify your team via Slack or email"}),(0,jt.jsx)("li",{children:"Log the interaction to Google Sheets or database"})]})]})]})]})]})}),(0,jt.jsx)("section",{className:"use-cases-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Real-World Use Cases for Australian Businesses"}),(0,jt.jsx)("p",{className:"section-intro",children:"Discover how Australian businesses across industries use the New SMS Received trigger to automate customer communications, improve response times, and deliver exceptional service through SMS automation."}),[{title:"Automated Customer Support Ticket Creation",industry:"Customer Support & Service",description:"Instantly convert incoming customer SMS enquiries into support tickets, ensuring no customer query goes unanswered. Perfect for Australian retail, hospital
2ity, and service businesses managing high volumes of customer communication.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'Hi, I need help with my order #12345. It hasn't arrived yet.'","DataFlows receives SMS instantly via webhook (no polling delay)","Extract key information: customer phone number, message content, timestamp","Create support ticket in Zendesk/Freshdesk with priority based on keywords","Assign ticket to appropriate team (e.g., 'order' keywords route to fulfilment team)","Send auto-reply SMS: 'Thanks for contacting us! Ticket #4567 created. We'll respond within 2 hours.'","Log interaction in CRM (HubSpot/Salesforce) for customer history tracking"],keywords:"SMS customer support Australia, automated ticketing system, customer service SMS, help desk automation Australia"},{title:"Appointment Confirmation and Reminder System",industry:"Healthcare & Professional Services",description:"Enable customers to confirm, reschedule, or cancel appointments via SMS, reducing no-shows and administrative workload for Australian medical practices, dental clinics, salons, and professional service providers.",trigger:"DataFlows SMS - New SMS Received",steps:["Patient receives appointment reminder: 'Appointment 15-Nov 2PM. Reply YES to confirm, NO to cancel'","Patient replies: 'YES'","Zapier workflow triggered instantly when SMS received","Parse message content: check for keywords (YES/NO/RESCHEDULE)","If YES: Update appointment status to 'confirmed' in booking system (Acuity/Calendly/Square)","If NO: Mark appointment as cancelled, send available time slots","If RESCHEDULE: Send booking link via SMS for self-service rescheduling","Log confirmation in Google Sheets/Airtable for reporting and analytics"],keywords:"appointment confirmation SMS Australia, medical appointment reminders, salon booking system, reduce no-shows Australia"},{title:"Order Status and Tracking Request Automation",industry:"E-commerce & Logistics",description:"Allow Australian customers to check their order status by simply texting their order number, providing instant gratification and reducing support workload for online retailers and logistics companies.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS: 'ORDER 12345' or 'Where is my order?'","Trigger fires immediately with message content and customer phone number","Use formatter to extract order number from message (regex pattern matching)","Look up order status in Shopify/WooCommerce/custom database via API","Format response with order details: status, tracking number, estimated delivery","Send SMS reply: 'Order #12345 dispatched 12-Nov. Australia Post tracking: AP123456789. Est. delivery: 15-Nov'","If order not found: 'Order not found. Please check number or contact support at 1300-XXX-XXX'","Track all order enquiries in Google Sheets for customer service analytics"],keywords:"order tracking SMS Australia, e-commerce automation, customer self-service, delivery status updates Australia"},{title:"Two-Way SMS Conversation Management",industry:"Sales & Lead Generation",description:"Engage Australian prospects and customers in real-time two-way SMS conversations, automatically routing messages to the right sales rep or team member while maintaining conversation history and context.",trigger:"DataFlows SMS - New SMS Received",steps:["Prospect sends SMS to your Australian business number: 'Interested in your solar panel quote'","Workflow identifies if customer is existing (lookup in CRM) or new lead","For existing customers: Route message to assigned account manager via Slack/email","For new leads: Create new contact in CRM with source = 'SMS Inbound'","Notify sales team in dedicated Slack channel with customer details and message","Send auto-reply: 'Thanks for your interest! Our solar specialist will respond within 30 minutes.'","Log entire conversation thread in CRM for context and follow-up","Set reminder task for sales rep if no response sent within 30 minutes"],keywords:"two-way SMS Australia, lead management SMS, sales automation Australia, SMS lead capture, real-time customer engagement"},{title:"SMS-to-Email Forwarding for Remote Teams",industry:"Field Service & Remote Teams",description:"Automatically forward all incoming SMS messages to email, perfect for Australian businesses with remote teams, field technicians, or employees who need SMS notifications in their email workflow.",trigger:"DataFlows SMS - New SMS Received",steps:["Customer sends SMS to your business number: 'Urgent: Hot water system not working'","Trigger captures all message details: from number, to number, message, timestamp","Format email with professional template including customer phone number and message","Send email to supp
2[email protected] with subject: 'New SMS from +61412345678'","Include 'Reply via SMS' link that opens template for quick response","Optionally route to specific team members based on message keywords (urgent/booking/quote)","Store copy of message in Google Sheets for compliance and record-keeping","Send SMS auto-reply: 'Message received. Our team will respond via email or call within 1 hour.'"],keywords:"SMS to email forwarding Australia, remote team communication, field service management, SMS notification system"},{title:"Contact Form and Lead Capture via SMS",industry:"Real Estate & Property Management",description:"Enable Australian property seekers to request information by texting property codes, instantly sending them details and capturing leads for follow-up by real estate agents.",trigger:"DataFlows SMS - New SMS Received",steps:["Prospect sees property sign: 'Text PROP123 to 0400 XXX XXX for details'","Prospect sends SMS: 'PROP123'","Workflow extracts property code from message using text formatter","Look up property details in Airtable/database (address, price, bedrooms, photos link)","Send SMS with property summary and virtual tour link","Create new lead in real estate CRM with property interest tagged","Notify assigned agent via email/Slack with prospect details and interested property","Schedule follow-up task for agent to call prospect within 24 hours","Add prospect to property-specific email drip campaign for open home invitations"],keywords:"real estate SMS marketing Australia, property enquiry automation, SMS lead generation, real estate lead capture Australia"},{title:"Event RSVP and Registration Management",industry:"Events & Hospitality",description:"Manage event registrations and RSVPs via SMS for Australian events, festivals, and hospitality venues, making it easy for attendees to confirm attendance or request information.",trigger:"DataFlows SMS - New SMS Received",steps:["Invited guest receives: 'Melbourne Wine Festival 20-Nov. Reply YES to attend, NO to decline, INFO for details'","Guest replies: 'YES' or 'YES +1' (bringing guest)","Workflow parses response and extracts RSVP status and guest count","Update event registration in Eventbrite/Google Sheets with attendance confirmation","Calculate and update total attendee count for venue capacity planning","Send confirmation SMS with event details: 'See you there! Melbourne Wine Festival, 20-Nov 6PM, Federation Square. E-ticket: [link]'","If capacity reached: Add to waitlist and notify 'Event full. You're #5 on waitlist'","Send reminder SMS 24 hours before event with directions and parking info"],keywords:"event RSVP SMS Australia, event management automation, festival registration, hospitality booking system Australia"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-detailed","data-aos":"fade-up",children:[(0,jt.jsx)("div",{className:"use-case-header",children:(0,jt.jsxs)("div",{children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("span",{className:"industry-tag",children:e.industry})]})}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsxs)("div",{className:"workflow-breakdown",children:[(0,jt.jsx)("h4",{children:"Workflow Steps:"}),(0,jt.jsx)("ol",{children:e.steps.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]})]},t)))]})}),(0,jt.jsx)("section",{className:"australian-focus","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Why Australian Businesses Choose DataFlows SMS Gateway"}),(0,jt.jsxs)("div",{className:"benefits-grid",children:[(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83c\udde6\ud83c\uddfa Australian-Based Infrastructure"}),(0,jt.jsx)("p",{children:"Local SMS gateway with direct connections to Australian carriers (Telstra, Optus, Vodafone). Reliable delivery, low latency, and full support for Australian mobile numbers and regulations."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\u26a1 Instant Webhook Technology"}),(0,jt.jsx)("p",{children:"Real-time message delivery to Zapier with no polling delays. Messages arrive in 1-2 seconds, enabling time-sensitive workflows like urgent support requests and appointment confirmations."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcde Virtual Australian Numbers"}),(0,jt.jsx)("p",{children:"Get dedicated virtual numbers in Sydney, Melbourne, Brisbane, Perth, Adelaide, and regional areas. Choose local area codes to build trust with Australian customers."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd12 ACMA Compliant & Secure"}),(0,jt.jsx)("p",{children:"Fully compliant with Australian Communications and Media Authority (ACMA) regulations and Privacy Act 1988. Secure message handling with encryption and audit logs."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcb0 Transparent Australian Pricing"}),(0,jt.jsx)("p",{children:"Simple per-message pricing in AUD with no hidden fees. Wholesale rates for high-volume Australian businesses. No setup fees or monthly minimums on pay-as-you-go plans."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd17 Deep Zapier Integration"}),(0,jt.jsx)("p",{children:"Native Zapier app with multiple triggers and actions. Access 6,000+ app integrations to connect SMS with your existing business tools and workflows."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcca Me
2ssage Analytics & Reporting"}),(0,jt.jsx)("p",{children:"Track all incoming messages with detailed logs, delivery receipts, and response times. Export data for analysis, compliance, and business intelligence."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udee0\ufe0f Developer-Friendly SMS API"}),(0,jt.jsx)("p",{children:"RESTful SMS API for custom integrations beyond Zapier. Comprehensive documentation, SDKs, and webhooks for Australian developers building SMS features."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\u23f0 24/7 Message Processing"}),(0,jt.jsx)("p",{children:"Receive and process SMS messages around the clock. Perfect for Australian businesses serving customers across multiple time zones or providing after-hours support."})]})]})]})}),(0,jt.jsx)("section",{className:"setup-guide","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How to Set Up New SMS Received Trigger in Zapier"}),(0,jt.jsx)("p",{className:"section-intro",children:"Follow this step-by-step guide to start receiving SMS messages in your Zapier workflows. Setup takes just 5 minutes and requires no technical expertise."}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 1: Get Your DataFlows SMS Account"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Sign up for a free DataFlows SMS account at ",(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noopener noreferrer",children:"sms.dataflows.com.au"})]}),(0,jt.jsx)("li",{children:"Choose and purchase an Australian virtual number (Sydney, Melbourne, Brisbane, or other cities)"}),(0,jt.jsx)("li",{children:"Verify your account via email confirmation"}),(0,jt.jsx)("li",{children:"Navigate to Settings > API to generate your API token"}),(0,jt.jsx)("li",{children:"Copy your API token\u2014you'll need this to connect Zapier"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 2: Create Your Zap in Zapier"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Log in to your ",(0,jt.jsx)("a",{href:"https://zapier.com",target:"_blank",rel:"noopener noreferrer",children:"Zapier account"})," (free plan works great for testing)"]}),(0,jt.jsxs)("li",{children:["Click the ",(0,jt.jsx)("strong",{children:'"Create Zap"'})," button in the top navigation"]}),(0,jt.jsxs)("li",{children:["In the trigger section, search for ",(0,jt.jsx)("strong",{children:'"DataFlows SMS"'})]}),(0,jt.jsx)("li",{children:'Select "DataFlows SMS" from the results'}),(0,jt.jsxs)("li",{children:["You'll see a list of available triggers\u2014choose ",(0,jt.jsx)("strong",{children:'"New SMS Received"'})]})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 3: Connect Your DataFlows Account"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Click ",(0,jt.jsx)("strong",{children:'"Sign in to DataFlows SMS"'})," when prompted"]}),(0,jt.jsx)("li",{children:"Paste your API token from Step 1 into the authentication field"}),(0,jt.jsxs)("li",{children:["Click ",(0,jt.jsx)("strong",{children:'"Yes, Continue"'})," to authorise the connection"]}),(0,jt.jsx)("li",{children:"Zapier will verify your credentials and confirm successful connection"}),(0,jt.jsx)("li",{children:"Your DataFlows SMS account is now connected and ready to use"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 4: Configure Trigger Settings"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Select which virtual number to monitor (if you have multiple Australian numbers)"}),(0,jt.jsxs)("li",{children:["Optionally configure filters:",(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Only messages from specific senders (whitelist phone numbers)"}),(0,jt.jsx)("li",{children:"Only messages to specific virtual numbers"}),(0,jt.jsx)("li",{children:"Messages received during specific hours (business hours only)"})]})]}),(0,jt.jsxs)("li",{children:["Click ",(0,jt.jsx)("strong",{children:'"Continue"'})," to proceed to testing"]})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 5: Test the Trigger"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Send a test SMS to your DataFlows virtual number from your mobile phone"}),(0,jt.jsx)("li",{children:'Example test message: "Testing my new Zapier automation!"'}),(0,jt.jsxs)("li",{children:["In Zapier, click ",(0,jt.jsx)("strong",{children:'"Test trigger"'})]}),(0,jt.jsx)("li",{children:"Zapier will fetch your most recent SMS (should show your test message)"}),(0,jt.jsxs)("li",{children:["Review the data fields to confirm everything is captured correctly:",(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"id:"})," Unique identifier for this specific SMS"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"message_id:"})," Message ID from the carrier"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"from:"})," Sender's phone number (your mobile in E.164 format)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"to:"})," Your virtual Australian number"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"message:"})," The SMS content you sent"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"received_at:"})," Timestamp when message was received"]})]})]}),(0,jt.jsxs)("li",{children:["Click ",(0,jt.jsx)("strong",{children:'"Continue"'})," if the test data looks correct"]})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 6: Add Actions to Your Workflow"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Click the ",(0,jt.jsx)("strong",{children:'"+"'})," button to add an action to your Zap"]}),(0,jt.jsxs)("li",{children:["Choose what should happen when an SMS is received. Popular options:",(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Gmail:"})," Send email notification with SMS content"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Google Sheets:"})," Log all incoming messages to spreadsheet"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Slack:"})," Post message to team channel with SMS details"]}
2),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Zendesk:"})," Create support ticket from SMS enquiry"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"DataFlows SMS - Send SMS:"})," Send automated reply"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"HubSpot/Salesforce:"})," Create or update contact with SMS log"]})]})]}),(0,jt.jsx)("li",{children:"Map the trigger data to your action fields (drag and drop from the trigger step)"}),(0,jt.jsxs)("li",{children:["Common mappings:",(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:'Use "from" field as customer phone number'}),(0,jt.jsx)("li",{children:'Use "message" field as ticket description or email body'}),(0,jt.jsx)("li",{children:'Use "received_at" for timestamp tracking'})]})]}),(0,jt.jsx)("li",{children:"Test your action to ensure it works correctly"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 7: Add Filters (Optional but Recommended)"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Between the trigger and action, add a ",(0,jt.jsx)("strong",{children:"Filter"})," step"]}),(0,jt.jsxs)("li",{children:["Use filters to process only relevant messages:",(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Keyword filter:"}),' Only continue if "message" contains "URGENT" or "HELP"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Number filter:"}),' Only continue if "from" is in your customer database']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Time filter:"})," Only continue if received during business hours (9am-5pm AEST)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Length filter:"})," Only continue if message is longer than 10 characters (ignore junk)"]})]})]}),(0,jt.jsx)("li",{children:"Filters prevent unnecessary actions and save on Zapier task usage"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 8: Enable Multi-Path Workflows (Advanced)"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Use Zapier's ",(0,jt.jsx)("strong",{children:"Paths"})," feature to route different message types to different actions"]}),(0,jt.jsxs)("li",{children:["Example paths for Australian e-commerce business:",(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path A:"}),' If message contains "ORDER", look up order and send status']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path B:"}),' If message contains "RETURN", create return ticket in help desk']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path C:"}),' If message contains "TRACK", send tracking link']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path D:"})," Otherwise, forward to support team email"]})]})]}),(0,jt.jsx)("li",{children:"Each path can have multiple actions for complex workflows"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 9: Test End-to-End"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Before turning on your Zap, do thorough testing"}),(0,jt.jsx)("li",{children:"Send multiple test SMS messages with different content and scenarios"}),(0,jt.jsx)("li",{children:"Verify each action executes correctly (check emails sent, sheets updated, tickets created, etc.)"}),(0,jt.jsx)("li",{children:"Test edge cases: very long messages, messages with emojis, messages with special characters"}),(0,jt.jsx)("li",{children:"Confirm timing: send SMS and verify how quickly your workflow completes"}),(0,jt.jsx)("li",{children:"Check error handling: what happens if an action fails? Consider adding error notification steps"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 10: Turn On Your Zap and Monitor"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Once testing is complete, toggle the Zap to ",(0,jt.jsx)("strong",{children:'"ON"'})]}),(0,jt.jsx)("li",{children:'Give your Zap a descriptive name: "SMS to Support Ticket - Australian Customers"'}),(0,jt.jsx)("li",{children:"Monitor Zap history for the first few hours to ensure smooth operation"}),(0,jt.jsx)("li",{children:"Check Zapier's task history to see when messages arrive and how they're processed"}),(0,jt.jsx)("li",{children:"Set up Zapier error notifications (Settings > Errors) to be alerted if workflows fail"}),(0,jt.jsx)("li",{children:"Periodically review logs and optimise your workflow based on actual usage patterns"}),(0,jt.jsx)("li",{children:"Consider creating a dashboard in Google Sheets to track SMS volumes, response times, and customer satisfaction"})]})]})]})}),(0,jt.jsx)("section",{className:"faq-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"How quickly does the New SMS Received trigger fire in Zapier?",answer:"The trigger fires instantly using webhooks (not polling). When someone sends an SMS to your DataFlows virtual number, the webhook delivers the message to Zapier in real-time, typically within 1-2 seconds. This is much faster than polling-based triggers which can have 5-15 minute delays depending on your Zapier plan."},{question:"What information is provided when an SMS is received?",answer:"The trigger provides all essential SMS data: message ID (unique identifier), from (sender's phone number in E.164 format like +61412345678), to (your virtual number), message (the S
2MS content), and received_at (timestamp in ISO format). This comprehensive data allows you to build sophisticated workflows with full message context."},{question:"Can I use this trigger with Australian phone numbers?",answer:"Yes! DataFlows specialises in Australian SMS services. The trigger works with all Australian mobile numbers (+614XX XXX XXX) and supports both local and international senders. All phone numbers are provided in standardised E.164 format (+61 country code) for easy parsing and database storage."},{question:"Does this trigger work for both standard SMS and long messages?",answer:"Absolutely. The trigger handles standard SMS (up to 160 characters), long concatenated messages (multiple parts automatically joined), and MMS messages. Australian customers can send messages of any length, and you'll receive the complete message content in the 'message' field, ready for processing."},{question:"Can I filter which SMS messages trigger the workflow?",answer:"Yes! Use Zapier's built-in filter step to process only specific messages. Common filters include: message content contains specific keywords (e.g., 'URGENT', 'ORDER', 'HELP'), sender phone number matches customer database, messages received during business hours only, or messages that match specific patterns using regex. This prevents unnecessary workflow runs and reduces costs."},{question:"How do I prevent my workflow from triggering for sent messages?",answer:"The New SMS Received trigger only fires for incoming messages to your virtual number, never for messages you send. DataFlows has a separate 'New SMS Sent' trigger for tracking outbound messages. This ensures your workflows only process customer-initiated communications without duplication."},{question:"What happens if I receive multiple SMS messages simultaneously?",answer:"Each SMS message creates a separate trigger event and runs your workflow independently. If you receive 10 SMS messages within a second, Zapier will run your workflow 10 times (once per message). This parallel processing ensures every customer message is handled promptly without queuing delays, perfect for high-volume Australian businesses."},{question:"Can I reply to received SMS messages automatically?",answer:"Yes! Use the DataFlows SMS 'Send SMS' action in your workflow to send automatic replies. You can extract the sender's phone number from the trigger data (the 'from' field) and use it as the recipient for your reply. This enables two-way conversations, auto-replies, confirmations, and interactive SMS workflows for Australian customers."},{question:"Is there a limit to how many SMS messages can trigger workflows?",answer:"The limit depends on your Zapier plan (number of tasks per month) and your DataFlows SMS credits (number of messages). DataFlows has no technical limit on incoming messages, so you can process high volumes. For Australian businesses with variable SMS volumes, we recommend monitoring your Zapier task usage and upgrading if needed."},{question:"How can I test the trigger before going live?",answer:"When setting up your Zap, Zapier will prompt you to test the trigger. Simply send a test SMS to your DataFlows virtual number from your mobile phone, then click 'Test trigger' in Zapier. You'll see the message data appear immediately, allowing you to verify all fields are captured correctly before activating your workflow for real Australian customer messages."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item",children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"cta-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Ready to Automate Your SMS Workflows?"}),(0,jt.jsx)("p",{children:"Start receiving SMS messages in Zapier instantly with DataFlows SMS gateway for Australian businesses."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://zapier.com/apps/dataflows-sms",className:"btn btn-primary",target:"_blank",rel:"noopener noreferrer",children:"Get Started with Zapier"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"btn btn-secondary",children:"View All Zapier Features"})]})]})}),t&&(0,jt.jsx)("button",{className:"scroll-to-top",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},"aria-label":"Scroll to top",children:"\u2191"}),(0,jt.jsx)(bt,{})]})},bh=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);return(0,jt.jsxs)("div",{className:"zapier-feature-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Keyword Matched in SMS - DataFlows Zapier | SMS Keyword Automation Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Automate SMS keyword triggers for Australian businesses with DataFlows and Zapier. Handle STOP requests, loyalty programs, event registration, help desk commands. Instant webhooks, ACMA compliant, 6,000+ app integrations."}),(0,jt.jsx)("meta",{name:"keywords",content:"SMS keyword automation Australia, SMS commands Australia, 
2keyword trigger SMS Australia, SMS STOP automation, SMS loyalty program Australia, SMS help desk automation, ACMA compliant SMS, SMS competition Australia, keyword-based SMS automation"}),(0,jt.jsx)("meta",{property:"og:title",content:"SMS Keyword Automation for Australian Businesses - DataFlows Zapier"}),(0,jt.jsx)("meta",{property:"og:description",content:"Trigger automations when customers text keywords like STOP, HELP, or custom commands. Perfect for compliance, loyalty programs, events, and customer support."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/zapier/triggers/keyword-matched")})]}),(0,jt.jsx)("div",{className:"feature-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Zapier",path:"/integrations/zapier"},{label:"Keyword Matched in SMS"}]})})}),(0,jt.jsx)("section",{className:"feature-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("div",{className:"hero-badge",children:"\ud83d\udd0d Smart Trigger"}),(0,jt.jsx)("h1",{children:"Keyword Matched in SMS"}),(0,jt.jsx)("p",{className:"hero-subtitle",children:"Automatically trigger workflows when customers text specific keywords or phrases to your Australian business. Handle STOP requests for ACMA compliance, power loyalty programs, manage events, automate support\u2014all through simple SMS commands your customers already know."}),(0,jt.jsxs)("div",{className:"hero-stats",children:[(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"<2s"}),(0,jt.jsx)("div",{className:"stat-label",children:"Trigger Speed"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"100%"}),(0,jt.jsx)("div",{className:"stat-label",children:"ACMA Compliant"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"Unlimited"}),(0,jt.jsx)("div",{className:"stat-label",children:"Keywords"})]})]})]})}),(0,jt.jsx)("section",{className:"feature-overview","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"What Is SMS Keyword Matching?"}),(0,jt.jsx)("p",{className:"section-intro",children:'SMS keyword matching automatically detects when customers send specific words or phrases to your Australian mobile number, instantly triggering automated workflows. Instead of manually monitoring every incoming SMS for commands like "STOP", "HELP", or "BALANCE", DataFlows SMS detects these keywords in real-time and connects to Zapier to execute your custom automation\u2014whether that\'s updating a database, sending a reply, or creating a support ticket.'}),(0,jt.jsxs)("div",{className:"overview-grid",children:[(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\udeab"}),(0,jt.jsx)("h3",{children:"Compliance Keywords"}),(0,jt.jsx)("p",{children:"Handle legally required opt-out commands instantly. STOP, UNSUBSCRIBE, CANCEL, OPT-OUT, and REMOVE are automatically processed to maintain ACMA compliance and avoid penalties."}),(0,jt.jsxs)("div",{className:"emotion-tags",children:[(0,jt.jsx)("span",{children:"STOP"}),(0,jt.jsx)("span",{children:"UNSUBSCRIBE"}),(0,jt.jsx)("span",{children:"CANCEL"}),(0,jt.jsx)("span",{children:"OPT-OUT"}),(0,jt.jsx)("span",{children:"REMOVE"}),(0,jt.jsx)("span",{children:"END"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\u2753"}),(0,jt.jsx)("h3",{children:"Support Keywords"}),(0,jt.jsx)("p",{children:"Provide instant help and information through automated responses. Guide customers to resources, create tickets, or route to appropriate teams based on their SMS commands."}),(0,jt.jsxs)("div",{className:"emotion-tags negative",children:[(0,jt.jsx)("span",{children:"HELP"}),(0,jt.jsx)("span",{children:"INFO"}),(0,jt.jsx)("span",{children:"SUPPORT"}),(0,jt.jsx)("span",{children:"STATUS"}),(0,jt.jsx)("span",{children:"TRACK"}),(0,jt.jsx)("span",{children:"FAQ"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83c\udf81"}),(0,jt.jsx)("h3",{children:"Custom Keywords"}),(0,jt.jsx)("p",{children:"Create unique commands for your business. Loyalty programs (POINTS, REDEEM), events (REGISTER, TICKETS), competitions (WIN, ENTER), or any custom workflow you need."}),(0,jt.jsxs)("div",{className:"emotion-tags neutral",children:[(0,jt.jsx)("span",{children:"POINTS"}),(0,jt.jsx)("span",{children:"BALANCE"}),(0,jt.jsx)("span",{children:"WIN"}),(0,jt.jsx)("span",{children:"JOIN"}),(0,jt.jsx)("span",{children:"REGISTER"}),(0,jt.jsx)("span",{children:"CONFIRM"})]})]})]}),(0,jt.jsxs)("div",{className:"key-benefits",style:{marginTop:"3rem"},children:[(0,jt.jsx)("h3",{children:"Why Australian Businesses Choose Keyword-Based SMS Automation"}),(0,jt.jsxs)("div",{className:"benefits-list",children:[(0,jt.jsxs)("div",{className:"benefit-point",children:[(0,jt.jsx)("strong",{children:"Instant Compliance:"})," Automatically process STOP requests within seconds to meet ACMA requirements. No manual intervention, no delays, no compliance risks."]}),(0,jt.jsxs)("div",{className:"benefit-point",children:[(0,jt.jsx)("strong",{children:"Customer Convenience:"})," Australians are familiar with SMS commands from banking alerts and service providers. Leverage this familiarity for your business."]}),(0,jt.jsxs)("div",{className:"benefit-point",children:[(0,jt.jsx)("strong",{children:"Reduce Support Load:"})," Common questions answered automatically via keywords. Customers get instant responses without waiting for human agents."]}),(0,jt.jsxs)("div",{className:"benefit-point",children:[(0,jt.jsx)("strong",{children:"Scale Without Limits:"})," Whether you receive 10 or 10,000 SMS commands per day, automation handles every message consistently and instantly."]}),(0,jt.jsxs)("div",{className:"benefit-point",children:[(0,jt.jsx)("strong",{children:"No App Required:"})," Unlike mobile apps that require downloads and updates, SMS works on every mobile phone in Australia. 100% reach, zero barriers."]}),(0,jt.jsxs)("div",{className:"benefit-point",children:[(0,jt.jsx)("strong",{children:"Flexible Implementation:"})," Monitor single keywords, multiple keywords, or entire phrases. Create simple or complex workflows based on your business needs."]})]})]})]})}),(0,jt.jsx)("section",{className:"how-it-works","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How Keyword Matching Works in Zapier"}),(0,jt.jsx)("p",{className:"section-intro",children:"DataFlows SMS detects keywords in real-time and triggers your Zapier workflows instantly. No polling delays, no manual checking\u2014just automated responses the moment your keyword is detected."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"1"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Customer Sends SMS with Keyword"}),(0,jt.jsx)("p",{children:"A customer texts your Australian mobile number with a message containing your monitored keyword."}),(0,jt.jsxs)("div",{className:"code-example",children:["From: +61412345678",(0,jt.jsx)("br",{}),"To: +61400123456",(0,jt.jsx)("br",{}),'Message: "STOP sending me messages"']})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"2"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"DataFlows Detects Keyword"}),(0,jt.jsx)("p",{children:"DataFlows SMS platform receives the message and instantly scans for your configured keywords. Matching is case-insensitive and word-based."}),(0,jt.jsxs)("div",{className:"code-example",children:['Keyword detected: "STOP"',(0,jt.jsx)("br",{}),"Match type: Exact word match",(0,jt.jsx)("br",{}),"Position: Beginning of message",(0,jt.jsx)("br",{}),"Confidence: 100%"]})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"3"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Zapier Workflow Triggered"}),(0,jt.jsx)("p",{children:"The Keyword Matched trigger fires your Zap via webhook (no polling delay). All message data is passed to Zapier for your workflow."}),(0,jt.jsxs)("div",{className:"code-example",children:['trigger: "Keyword Matched in SMS"',(0,jt.jsx)("br",{}),'keyword: "STOP"',(0,jt.jsx)("br",{}),'from: "+61412345678"',(0,jt.jsx)("br",{}),'to: "+61400123456"',(0,jt.jsx)("br",{}),'message: "STOP sending me messages"',(0,jt.jsx)("br",{}),'timestamp: "2025-11-10T14:32:18+10:00"']})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"4"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Execute Your Automation"}),(0,jt.jsx)("p",{children:"Zapier runs your custom workflow based on the keyword detected."}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"STOP:"})," Add to suppression list, send confirmation SMS"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"HELP:"})," Send help menu, create support ticket"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"BALANCE:"})," Look up points, send SMS with balance"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Custom:"})," Any workflow you've configured"]})]})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"5"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Customer Receives Response"}),(0,jt.jsx)("p",{children:"Within seconds, your customer receives an automated SMS response relevant to their keyword command."}),(0,jt.jsxs)("div",{className:"code-example",children:["To: +61412345678",(0,jt.jsx)("br",{}),"From: +61400123456",(0,jt.jsx)("br",{}),'Message: "You have been unsubscribed from our marketing messages. Reply START anytime to opt back in. Questions? Call 1300 123 456."']})]})]})]}),(0,jt.jsxs)("div",{className:"technical-details",style:{marginTop:"3rem",padding:"2rem",background:"#f8f9fa",borderRadius:"8px"},children:[(0,jt.jsx)("h3",{children:"Technical Details: How Keyword Detection Works"}),(0,jt.jsxs)("ul",{style:{lineHeight:"1.8"},children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Case-Insensitive:"})," 'STOP', 'stop', 'Stop', and 'StoP' all match the keyword 'STOP'"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Word Boundaries:"}),' \'STOP\' matches in "STOP messages" but not in "UNSTOPPABLE"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Position Flexible:"})," Keyword can appear anywhere: beginning, middle, or end of message"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Multi-Word Support:"}),' Match phrases like "CHECK BALANCE" or "OPT OUT"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Unicode Support:"}),' Works with emojis and special characters (e.g., "STOP \u274c" still matches "STOP")']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Instant Webhooks:"})," Trigger fires within 1-2 seconds (vs 2-15 minutes with polling-based triggers)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"No Duplicates:"})," Each SMS triggers only once, even if it contains multiple instances of the same keyword"]})]})]})]})}),(0,jt.jsx)("section",{className:"use-cases-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Real-World Use Cases for Australian Businesses"}),(0,jt.jsx)("p",{className:"section-intro",children:"See how Australian businesses across industries use keyword-triggered SMS automation to improve c
2ompliance, engage customers, reduce costs, and scale operations without additional staff."}),[{title:"Automatic STOP Request Compliance for Australian Businesses",industry:"Marketing & Compliance",description:"Automatically handle opt-out requests (STOP, UNSUBSCRIBE) to maintain ACMA compliance and avoid penalties. Process requests instantly without manual intervention.",trigger:"DataFlows SMS - Keyword Matched in SMS",steps:["Customer sends SMS: 'STOP' to your Australian marketing number","Keyword 'STOP' is detected (case-insensitive matching)","Immediately add phone number to suppression list in Google Sheets/Airtable","Update subscriber status to 'unsubscribed' in Mailchimp/ActiveCampaign","Create compliance log entry with timestamp and customer details","Send confirmation SMS: 'You have been unsubscribed. Reply START to opt back in.'","Notify marketing team via Slack: 'Customer +61412345678 opted out'"],keywords:"SMS opt-out automation Australia, STOP request handling, ACMA compliance SMS, SMS unsubscribe automation Australia"},{title:"Customer Loyalty Program via SMS Commands",industry:"Retail & Hospitality",description:"Let customers check points balance, redeem rewards, and access exclusive offers by texting simple keywords to your Australian business number.",trigger:"DataFlows SMS - Keyword Matched in SMS",steps:["Customer sends SMS: 'POINTS' to check loyalty balance","Keyword 'POINTS' triggers workflow","Look up customer phone number in loyalty database (via Zapier Tables/Airtable)","Retrieve current points balance: 2,450 points","Send SMS reply: 'Hi Sarah! You have 2,450 points. Text REDEEM to see rewards or OFFER for today's exclusive deal.'","Log interaction in CRM with timestamp","If keyword is 'REDEEM', send list of available rewards","If keyword is 'OFFER', send personalised discount code valid for 24 hours"],keywords:"SMS loyalty program Australia, keyword-based rewards, SMS commands Australia, customer engagement automation"},{title:"Event Registration and Check-In via SMS",industry:"Events & Entertainment",description:"Allow attendees to register for events, receive tickets, and check in using simple SMS keywords. Perfect for Australian festivals, conferences, and sporting events.",trigger:"DataFlows SMS - Keyword Matched in SMS",steps:["Promote event: 'Text FESTIVAL to 0400123456 to register'","Attendee sends SMS: 'FESTIVAL'","Keyword 'FESTIVAL' triggers registration workflow","Check if phone number already registered in Eventbrite/Google Sheets","If new: Create attendee record, generate unique ticket ID","Send SMS with ticket: 'Registered! Your ticket ID: #TKT-7834. Show this at entry. Event details: [link]'","If existing: Send SMS: 'You're already registered! Ticket ID: #TKT-7834'","Additional keywords: 'SCHEDULE' for timetable, 'MAP' for venue layout, 'PARKING' for directions"],keywords:"SMS event registration Australia, SMS ticketing system, event check-in automation, SMS RSVP Australia"},{title:"Automated Help Desk with SMS Commands",industry:"Customer Support & IT",description:"Provide instant support by letting customers text keywords like HELP, STATUS, TRACK to get automated responses and create support tickets for Australian businesses.",trigger:"DataFlows SMS - Keyword Matched in SMS",steps:["Customer sends SMS: 'HELP'","Keyword 'HELP' triggers help desk workflow","Send automated SMS menu: '1. TRACK your order 2. RETURNS info 3. BILLING questions 4. SUPPORT ticket. Reply with keyword.'","If customer replies 'TRACK': L
2ook up recent order by phone number in Shopify/WooCommerce","Send order status: 'Order #1234 shipped yesterday. Track: [link]. Delivery: Wed 15th.'","If customer replies 'SUPPORT': Create Zendesk/Freshdesk ticket automatically","Send SMS: 'Ticket #56789 created. Agent will respond within 2 hours. Reply here for questions.'","Route ticket to appropriate team based on keyword (BILLING \u2192 Finance, TECH \u2192 IT)"],keywords:"SMS help desk automation, SMS customer support Australia, automated SMS responses, SMS ticket system Australia"},{title:"SMS Contest and Competition Entry System",industry:"Marketing & Promotions",description:"Run SMS competitions where customers enter by texting a keyword. Automatically validate entries, pick winners, and notify participants. Fully compliant with Australian competition laws.",trigger:"DataFlows SMS - Keyword Matched in SMS",steps:["Run radio/social promotion: 'Win $10,000! Text WIN to 0400123456. T&Cs apply.'","Listener sends SMS: 'WIN'","Keyword 'WIN' triggers competition entry workflow","Validate entry: Check if phone number already entered (1 entry per person rule)","If new entry: Add to Google Sheets with timestamp, name, phone number","Send confirmation SMS: 'You're entered! Winner announced Friday 8pm. Good luck!'","If duplicate entry: Send SMS: 'You're already entered! Only one entry per person.'","Send T&Cs link in follow-up SMS (NSW gambling compliance)","At competition end: Use Zapier formatter to pick random winner from sheet","Send winner notification SMS with prize claim instructions"],keywords:"SMS competition Australia, SMS contest entry, competition automation Australia, SMS prize draw"},{title:"Service Appointment Management via SMS",industry:"Healthcare & Professional Services",description:"Let Australian patients and clients manage appointments by texting keywords. Reduce no-shows, confirm bookings, and reschedule\u2014all via automated SMS commands.",trigger:"DataFlows SMS - Keyword Matched in SMS",steps:["Send appointment reminder 48 hours before: 'Appointment Wed 2pm. Reply CONFIRM or CANCEL'","Patient sends SMS: 'CONFIRM'","Keyword 'CONFIRM' triggers confirmation workflow","Update appointment status in Acuity Scheduling/Calendly to 'confirmed'","Send SMS: 'Confirmed! See you Wed 2pm at 123 Smith St, Sydney. Reply CANCEL to cancel anytime.'","If patient replies 'CANCEL': Mark appointment as cancelled in booking system","Send SMS: 'Appointment cancelled. Reply RESCHEDULE for new times or call 02 1234 5678.'","If keyword 'RESCHEDULE': Send available time slots via SMS","Track confirmation rates in Google Sheets for reporting"],keywords:"SMS appointment confirmation Australia, medical appointment SMS automation, SMS booking system Australia"},{title:"Subscription Management and Billing Alerts",industry:"SaaS & Subscription Services",description:"Allow Australian subscribers to manage their accounts via SMS commands. Handle upgrades, downgrades, pause requests, and payment issues through simple keyword triggers.",trigger:"DataFlows SMS - Keyword Matched in SMS",steps:["Customer receives SMS: 'Payment failed for your subscription. Reply RETRY to update card or PAUSE to pause account.'","Customer sends SMS: 'RETRY'","Keyword 'RETRY' triggers payment workflow","Send Stripe payment link via SMS: 'Update your card: [secure link]. We'll retry in 24 hours.'","Log interaction in Stripe/ChargeBee customer record","If keyword is 'PAUSE': Update subscription status to 'paused' in billing system","Send SMS: 'Account paused for 30 days. Reply RESUME anytime. No charges until then.'","Additional keywords: 'UPGRADE' for premium plans, 'CANCEL' for cancellation flow","Create retention workflow: If 'CANCEL' detected, offer discount code to retain customer"],keywords:"SMS subscription management Australia, billing SMS automation, SMS payment reminders, subscription SMS commands Australia"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-detailed","data-aos":"fade-up",children:[(0,jt.jsx)("div",{className:"use-case-header",children:(0,jt.jsxs)("div",{children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("span",{className:"industry-tag",children:e.industry})]})}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsxs)("div",{className:"workflow-breakdown",children:[(0,jt.jsx)("h4",{children:"Workflow Steps:"}),(0,jt.jsx)("ol",{children:e.steps.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]})]},t)))]})}),(0,jt.jsx)("section",{className:"australian-focus","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Why Australian Businesses Choose DataFlows SMS Keyword Automation"}),(0,jt.jsxs)("div",{className:"benefits-grid",children:[(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83c\udde6\ud83c\uddfa Australian Phone Numbers"}),(0,jt.jsx)("p",{children:"Native Australian mobile numbers (04XX XXX XXX) and dedicated short codes. Customers text local numbers they trust, not international or unfamiliar numbers."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\u2696\ufe0f ACMA Compliance Built-In"}),(0,jt.jsx)("p",{children:"Automatically handle STOP, UNSUBSCRIBE, and other opt-out keywords as required by Australian Communications and Media Authority (ACMA) regulations. Avoid penalties and maintain trust."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\u26a1 Instant Webhook Triggers"}),(0,jt.jsx)("p",{children:'No polling delays. The moment a keyword is detected, your Zapier workflow fires. Critical for time-sensitive use cases like STOP requests (legally must be processed "promptly") and customer support.'})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcb0 Cost-Effective for Aussie SMBs"}),(0,jt.jsx)("p",{children:"Pay only for SMS sent/received. No per-keyword charges, no per-trigger fees. Perfect for Australian small businesses with tight budgets but big ambitions."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd17 6,000+ App Integrations"}),(0,jt.jsx)("p",{children:"Connect keywords to any app in the Zapier ecosystem: Google Sheets, Airtable, Shopify, Zendesk, Slack, HubSpot, Mailchimp, Salesforce, and thousands more. Build exactly the workflow your business needs."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcca Analytics and Reporting"}),(0,jt.jsx)("p",{children:"Track which keywords are used most, when they're used, and by whom. Identify trends, optimise your keyword strategy, and measure ROI of SMS automation initiatives."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd12 Secure and Private"}),(0,jt.jsx)("p",{children:"Fully compliant with Australian Privacy Act 1988. Customer data is encrypted in transit and at rest. No data shared with third parties. GDPR and SOC 2 certified."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udee0\ufe0f Easy Setup, No Coding"}),(0,jt.jsx)("p",{children:"Configure keyword triggers through Zapier's visual interface. No technical skills required. Australian business owners, marketers, and support teams can build automations without IT help."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcf1 Works on All Devices"}),(0,jt.jsx)("p",{children:"SMS works on every mobile phone in Australia\u2014smartphones, feature phones, old Nokia bricks. No app downloads, no internet required. 100% reach across all demographics."})]})]})]})}),(0,jt.jsx)("section",{className:"advanced-strategies","data-aos":"fade-up",style:{background:"#f8f9fa",padding:"4rem 0"},children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Advanced Keyword Automation Strategies for Australian Markets"}),(0,jt.jsx)("p",{className:"section-intro",children:"Take your SMS keyword automation to the next level with these proven strategies from successful Australian businesses."}),(0,jt.jsxs)("div",{className:"strategy-grid",style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"2rem",marginTop:"2rem"},children:[(0,jt.jsxs)("div",{className:"strategy-card",style:{background:"white",padding:"2rem",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"},children:[(0,jt.jsx)("h3",{children:"Multi-Keyword Conversations"}),(0,jt.jsx)("p",{children:"Create conversational flows where one keyword leads to another. Example: HELP \u2192 menu \u2192 BILLING \u2192 billing options \u2192 DISPUTE \u2192 create ticket."}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Implementation:"}),' Use Zapier\'s "Update Contact" action to store conversation state, then reference it in subsequent triggers.']})]}),(0,jt.jsxs)("div",{className:"strategy-card",style:{background:"white",padding:"2rem",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"},children:[(0,jt.jsx)("h3",{children:"Smart Keyword Suggestions"}),(0,jt.jsx)("p",{children:'When customers send unrecognised text, analyse it and suggest relevant keywords. "Looking for help? Try: HELP for support, TRACK for orders, BILLING for payment questions."'}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Implementation:"}),' Use "New SMS Received" trigger + Zapier AI to analyse intent + Send SMS with suggestions.']})]}),(0,jt.jsxs)("div",{className:"strategy-card",style:{background:"white",padding:"2rem",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"},children:[(0,jt.jsx)("h3",{children:"Personalised Keyword Responses"}),(0,jt.jsx)("p",{children:"Tailor automated responses based on customer data. VIP customers get priority routing, repeat customers get special offers, new customers get onboarding."}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Implementation:"})," Look up phone number in CRM when keyword triggers, then use Zapier Paths to route based on customer segment."]})]}),(0,jt.jsxs)("div",{className:"strategy-card",style:{background:"white",padding:"2rem",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"},children:[(0,jt.jsx)("h3",{children:"Time-Based Keyword Behaviour"}),(0,jt.jsx)("p",{children:"Same keyword, different action based on time. HELP during business hours creates live chat, after hours creates ticket for tomorrow."}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Implementation:"})," Add Zapier Filter checking current time (AEST/AEDT), then use Paths for different workflows."]})]}),(0,jt.jsxs)("div",{className:"strategy-card",style:{background:"white",padding:"2rem",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"},children:[(0,jt.jsx)("h3",{children:"Progressive Profiling via Keywords"}),(0,jt.jsx)("p",{children:"Collect customer data over time through keyword interactions. WIN \u2192 ask name, REGISTER \u2192 ask email, BIRTHDAY \u2192 ask birthdate for future campaigns."}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Implementation:"})," Store partial customer profiles in Airtable/Google Sheets, update with each keyword interaction."]})]}),(0,jt.jsxs)("div",{className:"strategy-card",style:{background:"white",padding:"2rem",borderRadius:"8px",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"},children:[(0,jt.jsx)("h3",{children:"Gamified Keyword Campaigns"}),(0,jt.jsx)("p",{children:"Create scavenger hunts, trivia games, or challenges using keywords. Each correct answer (keyword) unlocks the next clue. Great for events, launches, brand engagement."}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Implementation:"})," Track progress in Google Sheets, use Zapier Filters to verify correct keywords in sequence, send next clue via SMS."]})]})]})]})}),(0,jt.jsx)("section",{className:"setup-guide","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How to Set Up Keyword Matching in Zapier"}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 1: Create Your Zap"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Log in to ",(0,jt.jsx)("a",{href:"https://zapier.com",target:"_blank",rel:"noopener noreferrer",children:"Zapier"})]}),(0,jt.jsx)("li",{children:'Click "Create Zap"'}),(0,jt.jsx)("li",{children:'Search for "DataFlows SMS" and select it as your trigger app'})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 2: Choose Keyword Matched Trigger"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Select trigger event: ",(0,jt.jsx)("strong",{children:'"Keyword Matched in SMS"'})]}),(0,jt.jsx)("li",{children:"Connect your DataFlows SMS account using your API token"}),(0,jt.jsxs)("li",{children:["Get your API token from: ",(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/developers/api",target:"_blank",rel:"noopener noreferrer",children:"https://sms.dataflows.com.au/developers/api"})]}),(0,jt.jsx)("li",{children:'Click "Continue"'})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 3: Configure Your Keyword"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'In the "Keyword" field, enter the word or phrase you want to monitor'}),(0,jt.jsxs)("li",{children:["Examples: ",(0,jt.jsx)("code",{children:"STOP"}),", ",(0,jt.jsx)("code",{children:"HELP"}),", ",(0,jt.jsx)("code",{children:"CHECK BALANCE"}),", ",(0,jt.jsx)("code",{children:"REGISTER"})]}),(0,jt.jsx)("li",{children:"Keywords are case-insensitive (STOP = stop = Stop)"}),(0,jt.jsxs)("li",{children:["For multi-word phrases, use exact spacing: ",(0,jt.jsx)("code",{children:"CHECK BALANCE"})," not ",(0,jt.jsx)("code",{children:"CHECKBALANCE"})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Pro tip:"})," Create separate Zaps for each important keyword to keep workflows organised"]})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 4: Test the Trigger"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Send a test SMS to your DataFlows number containing the keyword"}),(0,jt.jsx)("li",{children:'Example: Text "STOP" to your Australian mobile number'}),(0,jt.jsx)("li",{children:'Click "Test trigger" in Zapier'}),(0,jt.jsx)("li",{children:"Verify that Zapier detected the SMS with your keyword"}),(0,jt.jsx)("li",{children:"Check that all data fields are populated: from number, to number, message, timestamp"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 5: Add Your Actions"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click "+" to add an action step'}),(0,jt.jsx)("li",{children:"Choose what should happen when the keyword is detected"}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common actions for STOP:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Add row to Google Sheets (suppression list)"}),(0,jt.jsx)("li",{children:"Update contact in Mailchimp (unsubscribe)"}),(0,jt.jsx)("li",{children:"Send SMS via DataFlows (confirmation)"}),(0,jt.jsx)("li",{children:"Send notification to Slack (alert team)"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common actions for HELP:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Send SMS with help menu"}),(0,jt.jsx)("li",{children:"Create ticket in Zendesk/Freshdesk"}),(0,jt.jsx)("li",{children:"Log to Google Sheets for tracking"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Common actions for custom keywords:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Look up data in Airtable/database"}),(0,jt.jsx)("li",{children:"Send personalised SMS response"}),(0,jt.jsx)("li",{children:"Update CRM record"}),(0,jt.jsx)("li",{children:"Trigger email sequence"})]})]})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 6: Configure STOP Compliance (Essential for Australian Businesses)"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Create a Zap specifically for the keyword: ",(0,jt.jsx)("code",{children:"STOP"})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Action 1:"})," Add phone number to suppression list (Google Sheets/Airtable/CRM)
2"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Action 2:"}),' Update subscriber status in marketing platform (Mailchimp/ActiveCampaign) to "unsubscribed"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Action 3:"}),' Send confirmation SMS: "You have been unsubscribed. Reply START to opt back in."']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Action 4:"})," Create compliance log entry with timestamp, number, and action taken"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Pro tip:"})," Also monitor variations: UNSUBSCRIBE, CANCEL, OPT-OUT, REMOVE, END"]})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 7: Test End-to-End"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Send real SMS messages from your mobile phone to your DataFlows number"}),(0,jt.jsx)("li",{children:"Test each keyword you've configured"}),(0,jt.jsxs)("li",{children:["Verify that:",(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Trigger fires within 2-3 seconds"}),(0,jt.jsx)("li",{children:"All actions execute correctly"}),(0,jt.jsx)("li",{children:"Automated SMS replies are received"}),(0,jt.jsx)("li",{children:"Data is logged to sheets/CRM"})]})]}),(0,jt.jsx)("li",{children:"Test edge cases: keyword in middle of sentence, all caps, all lowercase, with emojis"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 8: Turn On Your Zap"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Review all steps one final time"}),(0,jt.jsx)("li",{children:'Click "Turn on Zap"'}),(0,jt.jsx)("li",{children:"Your keyword automation is now live!"}),(0,jt.jsx)("li",{children:'Monitor the first few real triggers in Zapier\'s "Zap History" to ensure everything works'}),(0,jt.jsx)("li",{children:"Set up email/Slack alerts for Zap errors so you're notified immediately if something breaks"})]})]}),(0,jt.jsxs)("div",{className:"setup-tip",style:{marginTop:"3rem",padding:"2rem",background:"#e7f3ff",borderLeft:"4px solid #0066cc",borderRadius:"4px"},children:[(0,jt.jsx)("h4",{children:"\ud83d\udca1 Pro Setup Tips for Australian Businesses"}),(0,jt.jsxs)("ul",{style:{lineHeight:"1.8",marginTop:"1rem"},children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Priority keywords first:"})," Set up STOP, HELP, and compliance keywords before marketing/engagement keywords"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Use Zapier Folders:"}),' Organise keyword Zaps into folders: "Compliance", "Support", "Marketing", "Events"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Monitor Zap performance:"})," Check Zap History weekly to identify failed workflows or errors"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Document your keywords:"})," Keep a master list of all active keywords, what they do, and which Zap handles them"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Test before promoting:"})," Always test new keywords thoroughly before including them in marketing materials"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Set up START keyword:"})," If you offer STOP, also offer START (opt back in) for customer convenience"]})]})]})]})}),(0,jt.jsx)("section",{className:"keyword-strategy","data-aos":"fade-up",style:{background:"#fff",padding:"4rem 0"},children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Keyword Strategy Guide for Australian Businesses"}),(0,jt.jsx)("p",{className:"section-intro",children:"Choosing the right keywords and promoting them effectively is crucial for successful SMS automation. Follow these best practices from leading Australian SMS marketers."}),(0,jt.jsxs)("div",{className:"strategy-section",style:{marginTop:"2rem"},children:[(0,jt.jsx)("h3",{children:"Choosing Effective Keywords"}),(0,jt.jsx)("div",{className:"strategy-content",style:{background:"#f8f9fa",padding:"2rem",borderRadius:"8px",marginTop:"1rem"},children:(0,jt.jsxs)("ul",{style:{lineHeight:"1.8"},children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Keep it short:"})," Single words are best (STOP, HELP, WIN). Maximum 2-3 words for c
2omplex commands (CHECK BALANCE)."]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Make it memorable:"})," Easy to spell, hard to misspell. Avoid: SCHEDULE (often misspelled), QUESTIONNAIRE (too long)."]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Use UPPERCASE in promotions:"}),' "Text STOP to 0400123456" is clearer than "text stop to 0400123456".']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Avoid ambiguous words:"}),' Don\'t use "OK" (customers might send it accidentally). Use "CONFIRM" or "YES" instead.']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Industry conventions:"})," Stick to familiar keywords where possible: STOP, HELP, JOIN, LEAVE, INFO, MORE."]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Test pronunciation:"})," If promoting on radio/TV, ensure keyword sounds distinct (JOIN vs JOINT)."]})]})})]}),(0,jt.jsxs)("div",{className:"strategy-section",style:{marginTop:"3rem"},children:[(0,jt.jsx)("h3",{children:"Essential Keywords for Every Australian Business"}),(0,jt.jsxs)("div",{className:"essential-keywords",style:{marginTop:"1rem"},children:[(0,jt.jsxs)("div",{className:"keyword-list-group",children:[(0,jt.jsx)("h4",{children:"Compliance (Required by Law)"}),(0,jt.jsxs)("ul",{style:{lineHeight:"1.8"},children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"STOP:"})," Unsubscribe from all marketing messages (ACMA requirement)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"HELP:"})," Provide customer support and contact information"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"START:"})," Opt back in (if customer previously unsubscribed)"]})]})]}),(0,jt.jsxs)("div",{className:"keyword-list-group",style:{marginTop:"2rem"},children:[(0,jt.jsx)("h4",{children:"Customer Support"}),(0,jt.jsxs)("ul",{style:{lineHeight:"1.8"},children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"HELP:"})," Send help menu with available commands"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"INFO:"})," Provide general business information"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"TRACK:"})," Check order/delivery status"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"RETURNS:"})," Get returns policy and process"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"HOURS:"})," Send opening hours and location"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"CONTACT:"})," Provide phone/email/address"]})]})]}),(0,jt.jsxs)("div",{className:"keyword-list-group",style:{marginTop:"2rem"},children:[(0,jt.jsx)("h4",{children:"Loyalty & Engagement"}),(0,jt.jsxs)("ul",{style:{lineHeight:"1.8"},children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"BALANCE:"})," Check loyalty points balance"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"POINTS:"})," View current points and how to earn more"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"REDEEM:"})," See available rewards and how to claim"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"REWARDS:"})," List of current reward offerings"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"VIP:"})," Join VIP program or check VIP status"]})]})]}),(0,jt.jsxs)("div",{className:"keyword-list-group",style:{marginTop:"2rem"},children:[(0,jt.jsx)("h4",{children:"Marketing & Campaigns"}),(0,jt.jsxs)("ul",{style:{lineHeight:"1.8"},children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"JOIN:"})," Subscribe to SMS list"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"OFFER:"})," Get current special offer or discount code"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"DEAL:"})," Today's deal or promotion"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"WIN:"})," Enter competition or prize draw"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"MENU:"})," View product/service menu"]})]})]})]})]}),(0,jt.jsxs)("div",{className:"strategy-section",style:{marginTop:"3rem"},children:[(0,jt.jsx)("h3",{children:"How to Promote Keywords in Australia"}),(0,jt.jsxs)("div",{className:"promotion-methods",style:{marginTop:"1rem",display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"2rem"},children:[(0,jt.jsxs)("div",{className:"method-card",style:{background:"#f8f9fa",padding:"1.5rem",borderRadius:"8px"},children:[(0,jt.jsx)("h4",{children:"Physical Locations"}),(0,jt.jsxs)("ul",{style:{lineHeight:"1.8",marginTop:"0.5rem"},children:[(0,jt.jsx)("li",{children:'Posters: "Text SALE to 0400123456 for 20% off"'}),(0,jt.jsx)("li",{children:"Table tents in restaurants"}),(0,jt.jsx)("li",{children:'Receipts: "Join our VIP list! Text JOIN to 0400123456"'}),(0,jt.jsx)("li",{children:"Business cards with keyword and number"}),(0,jt.jsx)("li",{children:"Shelf talkers in retail"})]})]}),(0,jt.jsxs)("div",{className:"method-card",style:{background:"#f8f9fa",padding:"1.5rem",borderRadius:"8px"},children:[(0,jt.jsx)("h4",{children:"Digital Channels"}),(0,jt.jsxs)("ul",{style:{lineHeight:"1.8",marginTop:"0.5rem"},children:[(0,jt.jsx)("li",{children:'Website footer: "Text HELP to 0400123456 for support"'}),(0,jt.jsx)("li",{children:"Social media posts and bio"}),(0,jt.jsx)("li",{children:"Email signature"}),(0,jt.jsx)("li",{children:"Online ads (Google, Facebook, Instagram)"}),(0,jt.jsx)("li",{children:"YouTube video descriptions"})]})]}),(0,jt.jsxs)("div",{className:"method-card",style:{background:"#f8f9fa",padding:"1.5rem",borderRadius:"8px"},children:[(0,jt.jsx)("h4",{children:"Broadcast Media"}),(0,jt.jsxs)("ul",{style:{lineHeight:"1.8",marginTop:"0.5rem"},children:[(0,jt.jsx)("li",{children:'Radio: "Text WIN to zero-four-hundred-one-two-three-four-five-six"'}),(0,jt.jsx)("li",{children:"TV ads with on-screen keyword"}),(0,jt.jsx)("li",{children:"Podcast sponsorships"}),(0,jt.jsx)("li",{children:"Print ads in newspapers/magazines"}),(0,jt.jsx)("li",{children:"Billboard advertising"})]})]})]})]})]})}),(0,jt.jsx)("section",{className:"faq-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"How does keyword matching work for SMS messages in Australia?",answer:"Keyword matching is case-insensitive and matches exact words or phrases in incoming SMS messages. You can set up multiple keywords (STOP, HELP, INFO) and even multi-word phrases ('CHECK BALANCE'). The trigger fires instantly when DataFlows SMS detects your specified keyword anywhere in the message. For example, 'STOP' will match 'stop', 'STOP', or 'Stop sending me messages' because 'STOP' appears in the text."},{question:"Can I use the same keyword for different workflows in Zapier?",answer:"Yes! You can create multiple Zaps with the same keyword trigger. Each Zap will run independently when the keyword is matched. This is useful for logging to different systems (e.g., one Zap logs to Google Sheets, another creates a CRM record, and a third sends a Slack notification\u2014all triggered by the same 'STOP' keyword)."},{question:"Is keyword matching ACMA compliant for Australian SMS marketing?",answer:"Absolutely. The Keyword Matched trigger is essential for ACMA compliance. Australian law requires businesses to provide a clear opt-out mechanism (typically 'STOP' or 'UNSUBSCRIBE'). With DataFlows SMS and Zapier, you can automatically process these requests within seconds, maintaining compliance and avoiding penalties. We recommend confirming the opt-out with a final SMS as per ACMA guidelines."},{question:"What happens if a message contains multiple keywords?",answer:"If an SMS contains multiple keywords you're monitoring (e.g., 'STOP HELP'), both triggers will fire, and each associated Zap will run. You can use Zapier Filters to handle priority (e.g., always process 'STOP' first, ignore other keywords). We recommend designing your keyword strategy to avoid conflicts\u2014use distinct, unique keywords for different purposes."},{question:"Can I use partial keyword matching or wildcards?",answer:"The Keyword Matched trigger uses exact word matching, not partial matching. 'STOP' will match only the word 'STOP', not 'STOPPING' or 'UNSTOPPABLE'. For more complex matching (regex, partial matches, or multiple variations), we recommend using the 'New SMS Received' trigger followed by Zapier Formatter to extract and match patterns using custom logic."},{question:"How fast is the keyword detection and workflow execution?",answer:"Instant! DataFlows SMS uses webhooks (not polling), so the moment an SMS 
2with your keyword arrives, Zapier is notified within 1-2 seconds. The entire workflow\u2014from keyword detection to automated response\u2014typically completes in under 5 seconds. This is crucial for time-sensitive use cases like STOP requests or customer support commands."},{question:"Can I track which keywords are most popular with Australian customers?",answer:"Yes! Every time the Keyword Matched trigger fires, you can log the event to Google Sheets, Airtable, or your analytics platform. Track metrics like: keyword used, customer phone number, timestamp, and message content. This helps you understand which commands customers use most and optimise your keyword strategy accordingly."},{question:"What's the best practice for keyword naming in Australia?",answer:"Use simple, memorable, single-word keywords in UPPERCASE: STOP, HELP, START, INFO, JOIN, WIN. Avoid: complex phrases, numbers (unless necessary), or ambiguous words. Always promote keywords clearly: 'Text STOP to 0400123456 to unsubscribe'. Test keywords with real users before launching. For loyalty programs, use intuitive commands: BALANCE, REWARDS, POINTS, REDEEM."},{question:"Can I automatically reply with different messages based on the keyword?",answer:"Absolutely! Each keyword trigger can have its own Zap with customised actions. For example: 'STOP' \u2192 Send unsubscribe confirmation. 'HELP' \u2192 Send help menu. 'BALANCE' \u2192 Look up and send loyalty points. You can use Zapier's 'Send SMS' action to reply automatically with contextual messages based on which keyword was detected."},{question:"How do I handle typos or keyword variations like 'STPO' instead of 'STOP'?",answer:"You have two options: 1) Create separate Zaps for common typos ('STOP', 'STPO', 'SOTP'), or 2) Use the 'New SMS Received' trigger with Zapier Formatter to calculate string similarity (fuzzy matching) and catch typos. For critical keywords like 'STOP', we recommend monitoring common typos to ensure no opt-out requests are missed due to spelling errors."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item",children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"comparison-section","data-aos":"fade-up",style:{background:"#f8f9fa",padding:"4rem 0"},children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"DataFlows SMS vs Other Keyword SMS Solutions in Australia"}),(0,jt.jsx)("div",{className:"comparison-table",style:{overflowX:"auto",marginTop:"2rem"},children:(0,jt.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",background:"white",boxShadow:"0 2px 8px rgba(0,0,0,0.1)"},children:[(0,jt.jsx)("thead",{children:(0,jt.jsxs)("tr",{style:{background:"#0066cc",color:"white"},children:[(0,jt.jsx)("th",{style:{padding:"1rem",textAlign:"left",borderBottom:"2px solid #004999"},children:"Feature"}),(0,jt.jsx)("th",{style:{padding:"1rem",textAlign:"center",borderBottom:"2px solid #004999"},children:"DataFlows SMS"}),(0,jt.jsx)("th",{style:{padding:"1rem",textAlign:"center",borderBottom:"2px solid #004999"},children:"Traditional SMS Gateway"}),(0,jt.jsx)("th",{style:{padding:"1rem",textAlign:"center",borderBottom:"2px solid #004999"},children:"Manual Monitoring"})]})}),(0,jt.jsxs)("tbody",{children:[(0,jt.jsxs)("tr",{style:{borderBottom:"1px solid #e0e0e0"},children:[(0,jt.jsx)("td",{style:{padding:"1rem"},children:"Response Time"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center",color:"#00aa00",fontWeight:"bold"},children:"<2 seconds (webhook)"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"2-15 minutes (polling)"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Hours to days"})]}),(0,jt.jsxs)("tr",{style:{borderBottom:"1px solid #e0e0e0"},children:[(0,jt.jsx)("td",{style:{padding:"1rem"},children:"Setup Complexity"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center",color:"#00aa00",fontWeight:"bold"},children:"5-10 minutes (no code)"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Hours (coding required)"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Immediate (but manual)"})]}),(0,jt.jsxs)("tr",{style:{borderBottom:"1px solid #e0e0e0"},children:[(0,jt.jsx)("td",{style:{padding:"1rem"},children:"ACMA Compliance"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center",color:"#00aa00",fontWeight:"bold"},children:"Automatic (via Zapier)"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Manual setup required"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"High risk of delay"})]}),(0,jt.jsxs)("tr",{style:{borderBottom:"1px solid #e0e0e0"},children:[(0,jt.jsx)("td",{style:{padding:"1rem"},children:"Cost for 1,000 triggers/month"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center",color:"#00aa00",fontWeight:"bold"},children:"Only SMS costs"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Platform + API fees"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Staff time ($500+)"})]}),(0,jt.jsxs)("tr",{style:{borderBottom:"1px solid #e0e0e0"},children:[(0,jt.jsx)("td",{style:{padding:"1rem"},children:"Zapier Integration"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center",color:"#00aa00",fontWeight:"bold"},children:"Native (6,000+ apps)"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Limited or none"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"None"})]}),(0,jt.jsxs)("tr",{style:{borderBottom:"1px solid #e0e0e0"},children:[(0,jt.jsx)("td",{style:{padding:"1rem"},children:"Scalability"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center",color:"#00aa00",fontWeight:"bold"},children:"Unlimited keywords/triggers"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Limited by plan"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Not scalable"})]}),(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("td",{style:{padding:"1rem"},children:"24/7 Operation"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center",color:"#00aa00",fontWeight:"bold"},children:"Yes (automated)"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"Yes (automated)"}),(0,jt.jsx)("td",{style:{padding:"1rem",textAlign:"center"},children:"No (business hours only)"})]})]})]})})]})}),(0,jt.jsx)("section",{className:"cta-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Ready to Automate Your SMS Keywords?"}),(0,jt.jsx)("p",{children:"Connect DataFlows SMS with Zapier and start handling STOP requests, loyalty programs, events, and customer support automatically. No coding required, live in minutes."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://zapier.com/apps/dataflows-sms",className:"btn btn-primary",target:"_blank",rel:"noopener noreferrer",children:"Get Started with Zapier"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"btn btn-secondary",children:"View All Zapier Features"})]}),(0,jt.jsxs)("div",{className:"cta-features",style:{marginTop:"2rem",display:"flex",justifyContent:"center",gap:"2rem",flexWrap:"wrap"},children:[(0,jt.jsxs)("div",{style:{textAlign:"center"},children:[(0,jt.jsx)("div",{style:{fontSize:"2rem"},children:"\u26a1"}),(0,jt.jsx)("div",{children:"Instant Setup"})]}),(0,jt.jsxs)("div",{style:{textAlign:"center"},children:[(0,jt.jsx)("div",{style:{fontSize:"2rem"},children:"\ud83c\udde6\ud83c\uddfa"}),(0,jt.jsx)("div",{children:"Australian Numbers"})]}),(0,jt.jsxs)("div",{style:{textAlign:"center"},children:[(0,jt.jsx)("div",{style:{fontSize:"2rem"},children:"\u2696\ufe0f"}),(0,jt.jsx)("div",{children:"ACMA Compliant"})]}),(0,jt.jsxs)("div",{style:{textAlign:"center"},children:[(0,jt.jsx)("div",{style:{fontSize:"2rem"},children:"\ud83d\udd17"}),(0,jt.jsx)("div",{children:"6,000+ Apps"})]})]})]})}),t&&(0,jt.jsx)("button",{className:"scroll-to-top",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},"aria-label":"Scroll to top",children:"\u2191"}),(0,jt.jsx)(bt,{})]})},Sh=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);return(0,jt.jsxs)("div",{className:"zapier-feature-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"SMS Delivery Status Changed - DataFlows Zapier | SMS Delivery Tracking Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Track SMS delivery status changes in real-time for Australian businesses. Automate alerts for failed deliveries, update CRM with delivery confirmations, monitor delivery rates, and ensure compliance. Instant webhooks, c
2omprehensive tracking."}),(0,jt.jsx)("meta",{name:"keywords",content:"SMS delivery tracking Australia, SMS status webhook Australia, delivery confirmation SMS, failed SMS alerts, SMS delivery rate monitoring, SMS compliance Australia, delivery receipt automation, Australian SMS tracking, mobile carrier delivery tracking"}),(0,jt.jsx)("meta",{property:"og:title",content:"SMS Delivery Status Tracking for Australian Businesses - DataFlows Zapier"}),(0,jt.jsx)("meta",{property:"og:description",content:"Automatically track when SMS delivery status changes. Alert teams on failures, update CRM with confirmations, monitor delivery rates, implement retry logic, maintain compliance."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/zapier/triggers/sms-delivery-status")})]}),(0,jt.jsx)("div",{className:"feature-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Zapier",path:"/integrations/zapier"},{label:"SMS Delivery Status Changed"}]})})}),(0,jt.jsx)("section",{className:"feature-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("div",{className:"hero-badge",children:"Real-Time Trigger"}),(0,jt.jsx)("h1",{children:"SMS Delivery Status Changed"}),(0,jt.jsx)("p",{className:"hero-subtitle",children:"Automatically track when SMS delivery status changes from sent to delivered, failed, or bounced. Alert your team on failed deliveries, update CRM records with delivery confirmations, monitor campaign delivery rates, implement intelligent retry logic, and maintain comprehensive compliance records for Australian businesses."}),(0,jt.jsxs)("div",{className:"hero-stats",children:[(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"1-3s"}),(0,jt.jsx)("div",{className:"stat-label",children:"Webhook Speed"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"3"}),(0,jt.jsx)("div",{className:"stat-label",children:"Status Types"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"100%"}),(0,jt.jsx)("div",{className:"stat-label",children:"Coverage Rate"})]})]})]})}),(0,jt.jsx)("section",{className:"feature-overview","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"What Is SMS Delivery Status Tracking?"}),(0,jt.jsx)("p",{className:"section-intro",children:"SMS delivery status tracking monitors the journey of every text message you send, providing real-time updates when delivery status changes. Unlike basic SMS sending where you're left wondering if messages arrived, delivery status tracking gives Australian businesses definitive confirmation of whether each message was successfully delivered, permanently failed, or temporarily bounced. This visibility is crucial for customer communications, compliance requirements, and maintaining high-quality contact databases."}),(0,jt.jsxs)("div",{className:"overview-grid",children:[(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\u2705"}),(0,jt.jsx)("h3",{children:"Delivered Status"}),(0,jt.jsx)("p",{children:"Message successfully reached the recipient's mobile phone and was accepted by their device. This is the ideal outcome confirming your communication succeeded."}),(0,jt.jsxs)("div",{className:"emotion-tags",children:[(0,jt.jsx)("span",{children:"Success Confirmed"}),(0,jt.jsx)("span",{children:"Customer Reached"}),(0,jt.jsx)("span",{children:"Communication Complete"}),(0,jt.jsx)("span",{children:"Audit Trail"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\u274c"}),(0,jt.jsx)("h3",{children:"Failed Status"}),(0,jt.jsx)("p",{children:"Permanent delivery failure due to invalid number, disconnected service, number ported, or carrier rejection. Requires manual intervention or alternative contact method."}),(0,jt.jsxs)("div",{className:"emotion-tags negative",children:[(0,jt.jsx)("span",{children:"Invalid Number"}),(0,jt.jsx)("span",{children:"Service Blocked"}),(0,jt.jsx)("span",{children:"Disconnected"}),(0,jt.jsx)("span",{children:"Requires Action"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\u26a0\ufe0f"}),(0,jt.jsx)("h3",{children:"Bounced Status"}),(0,jt.jsx)("p",{children:"Temporary delivery failure due to phone turned off, out of coverage range, or network congestion. Message may succeed if retried after delay."}),(0,jt.jsxs)("div",{className:"emotion-tags neutral",children:[(0,jt.jsx)("span",{children:"Temporary Issue"}),(0,jt.jsx)("span",{children:"Retry Later"}),(0,jt.jsx)("span",{children:"Network Problem"}),(0,jt.jsx)("span",{children:"Recoverable"})]})]})]})]})}),(0,jt.jsx)("section",{className:"how-it-works","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How Delivery Status Tracking Works in Zapier"}),(0,jt.jsx)("p",{className:"section-intro",children:"DataFlows SMS integrates with Zapier to provide instant, real-time delivery status updates for every SMS sent through your Australian business number. Unlike polling-based systems that check for updates every 5-15 minutes, DataFlows uses webhook triggers that fire within 1-3 seconds of a status change."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"1"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Send SMS Message"}),(0,jt.jsx)("p",{children:"Your business sends an SMS via DataFlows (manually, API, or another Zapier workflow). The message is queued for delivery to the Australian mobile network."}),(0,jt.jsxs)("div",{className:"code-example",children:["To: +61412345678",(0,jt.jsx)("br",{}),"From: +61400123456",(0,jt.jsx)("br",{}),'Message: "Your package has been dispatched!"',(0,jt.jsx)("br",{}),"Message ID: msg_abc123xyz"]})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"2"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Carrier Processes Delivery"}),(0,jt.jsx)("p",{children:"The message travels through Australian mobile networks (Telstra, Optus, Vodafone) to the recipient's device. The carrier monitors delivery progress."})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"3"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Status Changes and Webhook Fires"}),(0,jt.jsx)("p",{children:"When the carrier confirms delivery (or failure), DataFlows receives the delivery receipt and instantly triggers your Zapier workflow via webhook."}),(0,jt.jsxs)("div",{className:"code-example",children:['message_id: "msg_abc123xyz"',(0,jt.jsx)("br",{}),'status: "delivered"',(0,jt.jsx)("br",{}),'to: "+61412345678"',(0,jt.jsx)("br",{}),'delivered_at: "2025-11-10T14:32:15+10:00"',(0,jt.jsx)("br",{}),'carrier: "Telstra"']})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"4"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Take Automated Action"}),(0,jt.jsx)("p",{children:"Your Zapier workflow receives the status update and takes appropriate action based on the result."}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Delivered \u2192 Update CRM, log success, calculate metrics"}),(0,jt.jsx)("li",{children:"Failed \u2192 Alert team, flag for review, try alternative channel"}),(0,jt.jsx)("li",{children:"Bounced \u2192 Queue for retry, wait and resend"})]})]})]})]})]})}),(0,jt.jsx)("section",{className:"use-cases-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Real-World Use Cases for Australian Businesses"}),(0,jt.jsx)("p",{className:"section-intro",children:"Discover how Australian businesses across industries use SMS delivery status tracking to improve c
2ommunication reliability, maintain compliance, enhance customer experience, and optimise contact data quality. These detailed workflows demonstrate practical applications from healthcare to e-commerce."}),[{title:"Automated Failed Delivery Alert System",industry:"Customer Support & Operations",description:"Immediately notify your team when critical SMS messages fail to deliver, enabling rapid customer follow-up through alternative channels.",trigger:"DataFlows SMS - SMS Delivery Status Changed",steps:["Send appointment reminder SMS to customer: 'Your appointment is tomorrow at 2pm'","Mobile carrier returns 'Failed' status (invalid number or network issue)","Zapier trigger fires with delivery status: 'failed'","Filter: Only continue if status = 'failed' AND message type = 'appointment'","Create urgent task in Asana: 'Contact customer re: failed appointment reminder'","Send Slack notification to @customer-support: '\u26a0\ufe0f Failed SMS to customer ID 12345'","Log failure to Google Sheets for compliance and tracking","Automatically send email to customer as backup communication channel"],keywords:"SMS delivery tracking Australia, failed SMS alerts, delivery confirmation SMS, SMS monitoring Australia"},{title:"CRM Delivery Status Synchronisation",industry:"Sales & Marketing",description:"Automatically update your CRM contact records with SMS delivery confirmations, ensuring accurate communication history for Australian businesses.",trigger:"DataFlows SMS - SMS Delivery Status Changed",steps:["Sales team sends promotional SMS to 5,000 Australian contacts","Delivery status updates arrive: 4,847 Delivered, 98 Failed, 55 Bounced","For each status update, lookup contact in HubSpot by mobile number","Update contact property: 'Last SMS Status' = Delivered/Failed/Bounced","Update contact property: 'Last SMS Delivery Date' = timestamp","Create timeline event in HubSpot: 'SMS Delivered Successfully'","For failed deliveries: Add contact to 'Invalid Numbers' list","For bounced deliveries: Flag for mobile number verification","Generate weekly CRM report showing delivery success rate by campaign"],keywords:"CRM SMS integration Australia, HubSpot SMS delivery, contact management SMS, delivery tracking CRM"},{title:"Compliance and Audit Trail Management",industry:"Healthcare & Financial Services",description:"Maintain comprehensive delivery records for regulatory compliance, with automated logging of every SMS delivery status change for Australian compliance standards.",trigger:"DataFlows SMS - SMS Delivery Status Changed",steps:["Healthcare provider sends appointment confirmation to patient","Delivery status changes from 'Sent' to 'Delivered'","Log complete delivery data to dedicated Google Sheets: Date, Time, Patient ID, Status, Message ID","Create backup entry in Airtable with status timestamp and delivery receipt","For medical appointment reminders: Update patient management system with delivery confirmation","Store delivery receipt in secure document management system (DocuSign/Box)","Generate monthly compliance report for audit purposes","Retain records for 7 years per Australian healthcare regulations","Alert compliance officer if delivery rate drops below 95%"],keywords:"SMS compliance Australia, delivery audit trail, healthcare SMS tracking, regulatory 
2SMS reporting"},{title:"Intelligent SMS Retry Logic",industry:"E-commerce & Retail",description:"Automatically retry failed SMS deliveries using smart logic, optimising delivery rates for time-sensitive Australian retail communications.",trigger:"DataFlows SMS - SMS Delivery Status Changed",steps:["Order dispatch notification SMS sent to customer","Status changes to 'Bounced' (temporary network failure)","Filter: Only retry if status = 'bounced' AND retry count < 3","Wait 15 minutes (gives network time to recover)","Resend SMS via DataFlows with retry flag","If second attempt fails: Wait 1 hour and try alternative message format","If third attempt fails: Switch to email notification instead","Log all retry attempts to Google Sheets for analysis","Update customer preference: 'Prefers email' if SMS consistently fails"],keywords:"SMS retry logic Australia, delivery optimisation, SMS fallback strategy, automated SMS resend"},{title:"Real-Time Delivery Rate Dashboard",industry:"Marketing & Analytics",description:"Monitor SMS campaign performance in real-time by tracking delivery, bounce, and failure rates across Australian mobile networks.",trigger:"DataFlows SMS - SMS Delivery Status Changed",steps:["Campaign sends 10,000 SMS messages to Australian mobile numbers","Each delivery status update triggers workflow","Increment counters in Google Sheets: Total Sent, Delivered, Failed, Bounced","Calculate delivery rate: (Delivered / Total Sent) \xd7 100","Update live dashboard in Google Data Studio","Track delivery rates by carrier: Telstra, Optus, Vodafone, MVNOs","Identify problematic number ranges or patterns","Alert marketing team if delivery rate drops below 92%","Generate insights: 'Vodafone numbers have 3% higher bounce rate'","Optimise future campaigns based on carrier performance data"],keywords:"SMS delivery rate Australia, campaign tracking SMS, SMS analytics dashboard, mobile carrier tracking"},{title:"Customer Engagement Quality Scoring",industry:"Customer Success",description:"Track SMS delivery success rates per customer to identify communication issues and maintain high-quality contact data for Australian customer bases.",trigger:"DataFlows SMS - SMS Delivery Status Changed",steps:["System sends weekly engagement SMS to 2,500 customers","Delivery statuses flow in for each customer","Lookup customer in database by mobile number","Update customer engagement score based on delivery success","Delivered = +5 points | Failed = -10 points | Bounced = -5 points","Customers with score < 50: Flag for mobile number update","Customers with 3+ consecutive failures: Mark as 'Invalid Contact'","Send personalised email: 'Update your mobile number for better service'","Create customer success task to verify contact details","Generate monthly report: 'Top 100 customers with contact issues'"],keywords:"customer data quality Australia, contact verification SMS, engagement tracking Australia, customer database management"},{title:"Multi-Channel Communication Failover",industry:"Emergency Services & Critical Communications",description:"Ensure critical messages reach recipients by automatically switching to alternative channels when SMS delivery fails, crucial for Australian emergency communications.",trigger:"DataFlows SMS - SMS Delivery Status Changed",steps:["Security company sends emergency alert SMS: 'Alarm triggered at property'","Status updates to 'Failed' (number unreachable)","Immediately trigger backup communication workflow","Attempt 1: Send voice call via Twilio to mobile number","Attempt 2: Send email to registered email address","Attempt 3: Send push notification via mobile app","Attempt 4: SMS to secondary contact number on file","Log all communication attempts with timestamps","Create urgent ticket in support system for follow-up","Notify account manager: 'Critical message failed - customer ID 789'"],keywords:"SMS failover Australia, critical communications backup, multi-channel messaging, emergency alert delivery"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-detailed","data-aos":"fade-up",children:[(0,jt.jsx)("div",{className:"use-case-header",children:(0,jt.jsxs)("div",{children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("span",{className:"industry-tag",children:e.industry})]})}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsxs)("div",{className:"workflow-breakdown",children:[(0,jt.jsx)("h4",{children:"Workflow Steps:"}),(0,jt.jsx)("ol",{children:e.steps.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]})]},t)))]})}),(0,jt.jsx)("section",{className:"australian-focus","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Why Australian Businesses Choose DataFlows SMS Delivery Tracking"}),(0,jt.jsxs)("div",{className:"benefits-grid",children:[(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83c\udde6\ud83c\uddfa Australian Mobile Network Support"}),(0,jt.jsx)("p",{children:"Full delivery receipt support for all Australian carriers: Telstra, Optus, Vodafone, and MVNOs. Track carrier-specific delivery performance and identify network issues."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\u26a1 Instant Webhook Triggers"}),(0,jt.jsx)("p",{children:"Real-time delivery status updates with 1-3 second webhook firing. No polling delays means your workflows respond immediately to delivery failures or successes."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcca Comprehensive Status Data"}),(0,jt.jsx)("p",{children:"Detailed delivery information including status type, timestamps, carrier details, error codes, and delivery receipts for full audit trails."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd12 Australian Compliance Ready"}),(0,jt.jsx)("p",{children:"Meet regulatory requirements for healthcare (RACGP), financial services (ASIC), and other industries requiring proof of message delivery and comprehensive audit logs."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcb0 Included in Your Plan"}),(0,jt.jsx)("p",{children:"Delivery status tracking is included with all DataFlows SMS plans. No additional per-message charges for delivery receipts or status webhooks."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd17 6,000+ Zapier Integrations"}),(0,jt.jsx)("p",{children:"Connect delivery status tracking to any CRM, support platform, spreadsheet, or business tool. Update HubSpot, create Slack alerts, log to Google Sheets, and more."})]})]})]})}),(0,jt.jsx)("section",{className:"setup-guide","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How to Set Up SMS Delivery Status Tracking in Zapier"}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 1: Create Your Zap"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Log in to ",(0,jt.jsx)("a",{href:"https://zapier.com",target:"_blank",rel:"noopener noreferrer",children:"Zapier"})]}),(0,jt.jsx)("li",{children:'Click "Create Zap"'}),(0,jt.jsx)("li",{children:'Search for "DataFlows SMS" and select it as your trigger app'})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 2: Choose Delivery Status Trigger"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Select trigger event: ",(0,jt.jsx)("strong",{children:'"SMS Delivery Status Changed"'})]}),(0,jt.jsx)("li",{children:"Connect your DataFlows SMS account using your API token"}),(0,jt.jsxs)("li",{children:["Get your API token from: ",(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/developers/api",target:"_blank",rel:"noopener noreferrer",children:"https://sms.dataflows.com.au/developers/api"})]}),(0,jt.jsx)("li",{children:"Test the trigger by sending a test SMS and waiting for delivery confirmation"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 3: Filter by Delivery Status"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Add a ",(0,jt.jsx)("strong",{children:"Filter"})," step to your workflow"]}),(0,jt.jsxs)("li",{children:["Choose what status changes to act on:",(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Failed deliveries only:"}),' Status equals "failed"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Successful deliveries:"}),' Status equals "delivered"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Bounced messages:"}),' Status equals "bounced"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"All non-delivered:"}),' Status does not equal "delivered"']})]})]}),(0,jt.jsx)("li",{children:"You can also filter by message type, recipient, or other fields"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 4: Add Your Action Steps"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Choose what happens when delivery status changes"}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"For failed deliveries:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Send Slack notification to support team"}),(0,jt.jsx)("li",{children:"Create task in project management tool (Asana, Trello, Monday)"}),(0,jt.jsx)("li",{children:"Update CRM record (HubSpot, Salesforce, Pipedrive)"}),(0,jt.jsx)("li",{children:"Send fallback email to customer"}),(0,jt.jsx)("li",{children:"Log to Google Sheets for analysis"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"For successful deliveries:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Update CRM with delivery confirmation timestamp"}),(0,jt.jsx)("li",{children:"Log to compliance spreadsheet"}),(0,jt.jsx)("li",{children:"Increment success counter in analytics"}),(0,jt.jsx)("li",{children:"Mark customer engagement task as complete"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"For bounced messages:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Wait 15-60 minutes using Zapier Delay"}),(0,jt.jsx)("li",{children:'Retry sending via DataFlows SMS "Send SMS" action'}),(0,jt.jsx)("li",{children:"Track retry attempts in database"})]})]})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 5: Test and Monitor"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Send test SMS messages to your own Australian mobile number"}),(0,jt.jsx)("li",{children:"Verify delivery status webhook fires and workflow executes"}),(0,jt.jsx)("li",{children:"Test failed delivery by sending to an invali
2d number (e.g., +61400000000)"}),(0,jt.jsx)("li",{children:"Check that filters work correctly for each status type"}),(0,jt.jsx)("li",{children:"Monitor Zap history for the first 24 hours to ensure reliability"}),(0,jt.jsx)("li",{children:"Turn on your Zap to start tracking all SMS delivery statuses!"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Advanced: Multi-Path Workflows"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["For complex workflows, use Zapier ",(0,jt.jsx)("strong",{children:"Paths"})," instead of simple filters"]}),(0,jt.jsxs)("li",{children:["Create separate paths for each status type with different actions:",(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path A (Delivered):"})," Update CRM + Log success metrics"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path B (Failed):"})," Alert team + Try email fallback"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path C (Bounced):"})," Queue for retry + Track attempts"]})]})]}),(0,jt.jsx)("li",{children:"Add sub-filters within paths for more granular control"}),(0,jt.jsx)("li",{children:'Example: Within "Failed" path, create sub-paths for different error codes'})]})]})]})}),(0,jt.jsx)("section",{className:"faq-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"What delivery statuses can DataFlows SMS track in Australia?",answer:"DataFlows SMS tracks three primary delivery statuses: 'Delivered' (message successfully received by recipient's phone), 'Failed' (permanent delivery failure due to invalid number, blocked service, or carrier rejection), and 'Bounced' (temporary failure due to phone off, out of range, or network congestion). Australian mobile carriers provide detailed delivery receipts that enable precise status tracking for Telstra, Optus, Vodafone, and MVNO networks."},{question:"How quickly do delivery status updates trigger my Zapier workflow?",answer:"Delivery status updates trigger instantly via webhooks, typically within 1-3 seconds of the status change. Unlike polling-based integrations that check every 5-15 minutes, DataFlows SMS uses real-time webhook triggers, meaning your Zapier workflow fires immediately when a delivery status changes. This is crucial for time-sensitive workflows like failed delivery alerts or compliance logging."},{question:"Can I track delivery rates for different Australian mobile carriers?",answer:"Yes! The delivery status data includes carrier information, allowing you to track performance across Telstra, Optus, Vodafone, and various MVNOs. You can build workflows that analyse delivery rates by carrier, identify network-specific issues, and optimise your SMS strategy based on which carriers your customers use. This is particularly valuable for Australian businesses managing large-scale SMS campaigns."},{question:"What happens if an SMS is marked as 'Bounced' versus 'Failed'?",answer:"A 'Bounced' status indicates a temporary delivery issue (phone off, out of coverage, or network congestion) that may succeed if retried later. Australian best practice is to retry bounced messages after 15-60 minutes. A 'Failed' status indicates a permanent issue (invalid number, service blocked, or carrier rejection) that won't succeed on retry. Your Zapier workflow should handle these differently: retry bounced messages, but mark failed numbers for review or removal."},{question:"Can I use delivery status tracking for compliance and audit requirements?",answer:"Absolutely! Delivery status tracking is essential for Australian compliance in healthcare (RACGP standards), financial services (ASIC requirements), and other regulated industries. You can automatically log every delivery confirmation with timestamps, message IDs, and recipient details to Google Sheets, Airtable, or secure document storage. This creates a comprehensive audit trail proving message delivery for legal and regulatory purposes."},{question:"How do I reduce failed SMS deliveries for my Australian customer base?",answer:"Use DataFlows delivery status tracking to identify patterns: Are failures clustered in specific area codes? Is one carrier performing poorly? Are numbers formatted incorrectly? Build Zapier workflows that automatically flag invalid numbers, prompt customers to update contact details, and maintain a database of verified mobile numbers. Australian businesses typically see 2-5% failure rates; anything higher indicates data quality issues worth investigating."},{question:"Can I automatically switch to email if SMS delivery fails?",answer:"Yes! This is a popular Australian use case. When your Zapier workflow receives a 'Failed' delivery status, add a filter to check the status, then trigger an email send action (Gmail, SendGrid, Mailchimp, etc.) as a backup. For critical communications like appointment reminders or security alerts, multi-channel failover ensures your message reaches the recipient even if their mobile number is invali
2d or unreachable."},{question:"What delivery rate should I expect for SMS campaigns in Australia?",answer:"Well-maintained Australian contact databases typically achieve 95-98% delivery rates. Rates below 92% suggest data quality issues (outdated numbers, incorrect formatting, or numbers that have been disconnected). Use DataFlows delivery status tracking to monitor your baseline rate, investigate sudden drops, and maintain list hygiene by removing failed numbers. Different message types may have varying rates: transactional SMS typically deliver better than marketing messages."},{question:"Can I track how long it takes for SMS messages to be delivered?",answer:"Yes! The delivery status update includes timestamps for when the message was sent and when delivery was confirmed. Calculate delivery time by comparing these timestamps in your Zapier workflow. For Australian SMS, typical delivery times are 1-5 seconds for domestic numbers on major carriers. Monitoring delivery times helps identify network congestion, carrier performance issues, or problems with specific number ranges."},{question:"How does delivery status tracking integrate with CRM systems?",answer:"DataFlows SMS delivery status updates work seamlessly with popular CRMs via Zapier. When a status changes, look up the contact in HubSpot, Salesforce, Pipedrive, or Zoho CRM by mobile number, then update custom fields with delivery status, timestamps, and delivery rate scores. This enriches customer profiles with communication history and helps sales/support teams understand which customers have reliable contact information. Australian businesses use this for data quality scoring and customer engagement tracking."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item",children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"technical-details","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Technical Details for Australian Developers"}),(0,jt.jsxs)("div",{className:"tech-section",children:[(0,jt.jsx)("h3",{children:"Webhook Payload Structure"}),(0,jt.jsx)("p",{children:"When delivery status changes, DataFlows sends a webhook to Zapier with the following data structure:"}),(0,jt.jsx)("div",{className:"code-example",children:'{\n  "message_id": "msg_abc123xyz",\n  "status": "delivered",\n  "to": "+61412345678",\n  "from": "+61400123456",\n  "sent_at": "2025-11-10T14:30:00+10:00",\n  "delivered_at": "2025-11-10T14:30:03+10:00",\n  "carrier": "Telstra",\n  "message_content": "Your package has been dispatched!",\n  "segments": 1,\n  "error_code": null,\n  "error_message": null,\n  "metadata": {\n    "campaign_id": "campaign_123",\n    "customer_id": "cust_789"\n  }\n}'})]}),(0,jt.jsxs)("div",{className:"tech-section",children:[(0,jt.jsx)("h3",{children:"Status Types and Error Codes"}),(0,jt.jsx)("p",{children:"Understanding Australian carrier-specific status codes:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"delivered:"})," Successfully delivered to recipient's device"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"failed:"})," Permanent failure (error codes: INVALID_NUMBER, SERVICE_BLOCKED, CARRIER_REJECTED)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"bounced:"})," Temporary failure (error codes: PHONE_OFF, OUT_OF_COVERAGE, NETWORK_CONGESTION)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"expired:"})," Message expired before delivery (48-hour validity period exceeded)"]})]})]}),(0,jt.jsxs)("div",{className:"tech-section",children:[(0,jt.jsx)("h3",{children:"Australian Mobile Number Format"}),(0,jt.jsx)("p",{children:"DataFlows automatically handles Australian number formatting:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Input: 0412 345 678 \u2192 Output: +61412345678 (E.164 format)"}),(0,jt.jsx)("li",{children:"Input: 61412345678 \u2192 Output: +61412345678"}),(0,jt.jsx)("li",{children:"Input: +61 4 1234 5678 \u2192 Output: +61412345678"})]}),(0,jt.jsx)("p",{children:"Delivery receipts always return numbers in E.164 format (+61...) for c
2onsistency."})]}),(0,jt.jsxs)("div",{className:"tech-section",children:[(0,jt.jsx)("h3",{children:"Carrier-Specific Behaviour"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Telstra:"})," Fastest delivery receipts (1-2 seconds), most reliable"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Optus:"})," Delivery receipts within 2-5 seconds"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Vodafone:"})," Delivery receipts within 3-8 seconds"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"MVNOs:"})," Delivery receipt timing depends on parent network (Telstra/Optus)"]})]})]}),(0,jt.jsxs)("div",{className:"tech-section",children:[(0,jt.jsx)("h3",{children:"Best Practices for Australian SMS Delivery"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Always validate numbers:"})," Use Australian mobile regex: ^(\\+?61|0)4\\d",8,"$"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Handle bounces gracefully:"})," Retry after 15-60 minutes, maximum 3 attempts"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Monitor delivery rates:"})," Baseline 95-98% for good data, investigate if below 92%"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Respect quiet hours:"})," No SMS 9pm-8am AEST/AEDT per ACMA guidelines"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Maintain audit logs:"})," Store delivery confirmations for 7 years (compliance)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Use message metadata:"})," Track campaign IDs, customer IDs for analysis"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Implement fallback:"})," Email or voice call if SMS fails critically"]})]})]})]})}),(0,jt.jsx)("section",{className:"related-features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Related DataFlows SMS Features"}),(0,jt.jsxs)("div",{className:"related-grid",children:[(0,jt.jsxs)(fe,{to:"/integrations/zapier/triggers/new-sms-received",className:"related-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udce5 New SMS Received"}),(0,jt.jsx)("p",{children:"Trigger workflows when customers reply to your SMS messages"})]}),(0,jt.jsxs)(fe,{to:"/integrations/zapier/actions/send-sms",className:"related-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udce4 Send SMS"}),(0,jt.jsx)("p",{children:"Send SMS messages to Australian mobile numbers from any Zapier workflow"})]}),(0,jt.jsxs)(fe,{to:"/integrations/zapier/actions/create-contact",className:"related-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcc7 Create Contact"}),(0,jt.jsx)("p",{children:"Automatically add contacts to DataFlows from any Zapier trigger"})]})]})]})}),(0,jt.jsx)("section",{className:"cta-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Ready to Track SMS Delivery Status?"}),(0,jt.jsx)("p",{children:"Connect DataFlows SMS with Zapier and start monitoring delivery confirmations, alerting on failures, and maintaining comprehensive audit trails for your Australian business communications."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://zapier.com/apps/dataflows-sms",className:"btn btn-primary",target:"_blank",rel:"noopener noreferrer",children:"Get Started with Zapier"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"btn btn-secondary",children:"View All Zapier Features"})]})]})}),t&&(0,jt.jsx)("button",{className:"scroll-to-top",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},"aria-label":"Scroll to top",children:"\u2191"}),(0,jt.jsx)(bt,{})]})},kh=()=>{const[t,s]=(0,e.useState)(!1);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,delay:0,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);return(0,jt.jsxs)("div",{className:"zapier-feature-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Low Balance Alert - DataFlows Zapier | SMS Credit Alerts Australia"}),(0,jt.jsx)("meta",{name:"description",content:"Automate SMS credit balance monitoring for Australian businesses with DataFlows and Zapier. Get instant alerts when credits run low, trigger automatic purchases, notify billing teams, and ensure service continuity. Never run out of SMS credits again."}),(0,jt.jsx)("meta",{name:"keywords",content:"SMS credit alerts Australia, SMS balance monitoring, automated credit purchasing, SMS budget tracking Australia, SMS credit notifications, Zapier SMS automation, billing team alerts, service continuity protection"}),(0,jt.jsx)("meta",{property:"og:title",content:"SMS Low Balance Alerts for Australian Businesses - DataFlows Zapier"}),(0,jt.jsx)("meta",{property:"og:description",content:"Automatically monitor SMS credit balance and trigger alerts when running low. Notify team
2s, auto-purchase credits, prevent service disruptions."}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/zapier/triggers/low-balance-alert")})]}),(0,jt.jsx)("div",{className:"feature-breadcrumbs",children:(0,jt.jsx)("div",{className:"container",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Zapier",path:"/integrations/zapier"},{label:"Low Balance Alert"}]})})}),(0,jt.jsx)("section",{className:"feature-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("div",{className:"hero-badge",children:"Proactive Trigger"}),(0,jt.jsx)("h1",{children:"\ud83d\udcb0 Low Balance Alert"}),(0,jt.jsx)("p",{className:"hero-subtitle",children:"Never run out of SMS credits during critical campaigns. Automatically monitor your credit balance and trigger instant alerts when running low. Notify billing teams, auto-purchase credits, and maintain uninterrupted SMS services for your Australian business."}),(0,jt.jsxs)("div",{className:"hero-stats",children:[(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"<2s"}),(0,jt.jsx)("div",{className:"stat-label",children:"Alert Speed"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"100"}),(0,jt.jsx)("div",{className:"stat-label",children:"Default Threshold"})]}),(0,jt.jsxs)("div",{className:"stat-item",children:[(0,jt.jsx)("div",{className:"stat-value",children:"24/7"}),(0,jt.jsx)("div",{className:"stat-label",children:"Monitoring"})]})]})]})}),(0,jt.jsx)("section",{className:"feature-overview","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"What Is the Low Balance Alert Trigger?"}),(0,jt.jsx)("p",{className:"section-intro",children:"The Low Balance Alert is a proactive Zapier trigger that automatically fires when your DataFlows SMS credit balance drops below a customisable threshold (default: 100 credits). Instead of manually checking your balance or discovering you're out of credits during a critical campaign, this trigger enables Australian businesses to automate their entire credit management workflow\u2014from email notifications to automatic credit purchases."}),(0,jt.jsxs)("div",{className:"overview-grid",children:[(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\udce7"}),(0,jt.jsx)("h3",{children:"Instant Notifications"}),(0,jt.jsx)("p",{children:"Automatically email your billing team, finance department, or operations manager the moment credits run low. Include current balance, usage trends, and quick purchase links."}),(0,jt.jsxs)("div",{className:"emotion-tags",children:[(0,jt.jsx)("span",{children:"Email"}),(0,jt.jsx)("span",{children:"SMS"}),(0,jt.jsx)("span",{children:"Slack"}),(0,jt.jsx)("span",{children:"Teams"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\udcb3"}),(0,jt.jsx)("h3",{children:"Automated Purchasing"}),(0,jt.jsx)("p",{children:"Integrate with Stripe, PayPal, or your procurement system to automatically purchase credits when balance is low. Set it and forget it\u2014never manually top up again."}),(0,jt.jsxs)("div",{className:"emotion-tags",children:[(0,jt.jsx)("span",{children:"Stripe"}),(0,jt.jsx)("span",{children:"PayPal"}),(0,jt.jsx)("span",{children:"Auto-Purchase"}),(0,jt.jsx)("span",{children:"Seamless"})]})]}),(0,jt.jsxs)("div",{className:"overview-card",children:[(0,jt.jsx)("div",{className:"card-icon",children:"\ud83d\udcca"}),(0,jt.jsx)("h3",{children:"Budget Tracking"}),(0,jt.jsx)("p",{children:"Log every alert to Google Sheets, Airtable, or your BI tools to track usage patterns, forecast future consumption, and optimise your SMS budget."}),(0,jt.jsxs)("div",{className:"emotion-tags neutral",children:[(0,jt.jsx)("span",{children:"Analytics"}),(0,jt.jsx)("span",{children:"Forecasting"}),(0,jt.jsx)("span",{children:"Reporting"}),(0,jt.jsx)("span",{children:"Insights"})]})]})]})]})}),(0,jt.jsx)("section",{className:"how-it-works","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How Low Balance Alerts Work in Zapier"}),(0,jt.jsx)("p",{className:"section-intro",children:"DataFlows SMS continuously monitors your credit balance and instantly triggers your Zapier workflow the moment your balance drops below your configured threshold. No polling delays, no missed alerts\u2014just instant, reliable notifications."}),(0,jt.jsxs)("div",{className:"workflow-steps",children:[(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"1"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Your Balance Drops Below Threshold"}),(0,jt.jsx)("p",{children:"As your Australian business sends SMS messages throughout the day, DataFlows SMS tracks every credit used in real-time."}),(0,jt.jsxs)("div",{className:"code-example",children:["Starting Balance: 125 credits",(0,jt.jsx)("br",{}),"SMS Campaign Sent: -28 credits",(0,jt.jsx)("br",{}),"Current Balance: 97 credits",(0,jt.jsx)("br",{}),"\u26a0\ufe0f Below threshold of 100 credits!"]})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"2"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Instant Webhook Trigger"}),(0,jt.jsx)("p",{children:"DataFlows SMS immediately sends a webhook to Zapier with your current balance details (no 5-15 minute polling delay)."}),(0,jt.jsxs)("div",{className:"code-example",children:["Webhook fired at: 2024-11-10 14:23:47 AEDT",(0,jt.jsx)("br",{}),"Trigger latency: 1.2 seconds"]})]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"3"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Balance Data Provided"}),(0,jt.jsx)("p",{children:"The trigger provides comprehensive information about your account balance and usage."}),(0,jt.jsxs)("div",{className:"code-example",children:["current_balance: 97",(0,jt.jsx)("br",{}),"threshold: 100",(0,jt.jsx)("br",{}),'account_name: "Acme Marketing Pty Ltd"',(0,jt.jsx)("br",{}),'account_id: "ac_aus_1234567"',(0,jt.jsx)("br",{}),'timestamp: "2024-11-10T14:23:47+11:00"',(0,jt.jsx)("br",{}),"estimated_days_remaining: 2.77",(0,jt.jsx)("br",{}),"average_daily_usage: 35"]}),"              "]})]}),(0,jt.jsxs)("div",{className:"workflow-step",children:[(0,jt.jsx)("div",{className:"step-number",children:"4"}),(0,jt.jsxs)("div",{className:"step-content",children:[(0,jt.jsx)("h3",{children:"Take Automated Action"}),(0,jt.jsx)("p",{children:"Use Zapier's powerful automation tools to respond appropriately based on your balance level."}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Balance < 100 \u2192 Email billing team with purchase request"}),(0,jt.jsx)("li",{children:"Balance < 50 \u2192 Send urgent Slack alert to management"}),(0,jt.jsx)("li",{children:"Balance < 25 \u2192 Trigger automatic credit purchase via Stripe"}),(0,jt.jsx)("li",{children:"Balance < 10 \u2192 Pause non-critical SMS campaigns"})]})]})]})]})]})}),(0,jt.jsx)("section",{className:"use-cases-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Real-World Use Cases for Australian Businesses"}),(0,jt.jsx)("p",{className:"section-intro",children:"Discover how Australian businesses across industries use the Low Balance Alert to maintain service continuity, automate purchasing, control budgets, and ensure they never run out of SMS credits at critical moments."}),[{title:"Automated Email Notifications to Billing Teams",industry:"Finance & Accounting",description:"Automatically notify your finance team when SMS credits are running low, ensuring they have time to process payment approvals and prevent service interruptions.",trigger:"DataFlows SMS - Low Balance Alert",steps:["SMS credit balance drops below 100 credits (customisable threshold)","Zapier trigger fires instantly via webhook","Filter: Only continue if balance < 100 AND balance > 50 (prevents duplicate alerts)","Send detailed email to [email protected] with current balance, estimated days remaining, and top-up link","Create task in Asana: 'Top up SMS credits - Balance: 87 credits'","Log alert to Google Sheets with timestamp for financial records","Send follow-up reminder if balance drops below 50 credits"],keywords:"SMS credit alerts Australia, automated billing notifications, SMS balance monitoring, finance team automation"},{title:"Real-Time Slack Notifications for Operations Teams",industry:"Customer Support & Operations",description:"Keep your operations team informed about SMS credit levels through instant Slack notifications, enabling quick action during business-critical campaigns.",trigger:"DataFlows SMS - Low Balance Alert",steps:["Balance drops below threshold during peak campaign period","Trigger fires with balance details: current credits, threshold, account name","Send Slack message to #operations channel: '\u26a0\ufe0f SMS Credits Low: 95 remaining (threshold: 100)'","Include quick action buttons: [View Dashboard] [Purchase Credits] [Pause Campaigns]","Tag @ops-manager for immediate attention","Update shared o
2perations spreadsheet with alert timestamp","If balance drops below 25 credits, escalate to @director with urgent priority"],keywords:"Slack SMS alerts, operations team notifications, real-time credit monitoring Australia, SMS campaign management"},{title:"Automated Credit Purchase via Payment Gateway Integration",industry:"E-commerce & Automation",description:"Completely automate your SMS credit purchases by integrating with payment platforms like Stripe or PayPal, ensuring you never run out of credits.",trigger:"DataFlows SMS - Low Balance Alert",steps:["Balance drops below 100 credits at 2:00 AM (off-peak hours)","Trigger checks if auto-purchase is enabled in Google Sheets configuration","Filter: Only continue if balance < 100 AND last purchase was > 7 days ago","Calculate purchase amount based on average weekly usage (stored in Airtable)","Create Stripe payment intent for credit package ($250 AUD for 1,000 credits)","Send confirmation email to accounts team with purchase details and invoice","Log transaction to accounting software (Xero/MYOB) via API","Send success notification to Slack: '\u2705 Auto-purchased 1,000 credits - Balance now: 1,087'","Update purchase history in database for future analytics"],keywords:"automated credit purchasing Australia, Stripe SMS integration, automatic credit top-up, SMS payment automation"},{title:"Multi-Channel Budget Alert System",industry:"Marketing & Campaign Management",description:"Monitor SMS credit consumption across multiple marketing campaigns and departments, with budget tracking and forecasting to prevent overspending.",trigger:"DataFlows SMS - Low Balance Alert",steps:["Balance alert triggers with current credit count and usage rate","Lookup campaign schedule in Google Sheets to identify upcoming campaigns","Calculate if remaining credits are sufficient for scheduled campaigns","If insufficient: Send urgent email to Marketing Director with deficit analysis","Create colour-coded alert in Monday.com project board (Red: <50, Orange: <100, Green: >100)","Send SMS to procurement manager mobile: 'Credits low - Urgent top-up needed for Friday campaign'","Post summary to Microsoft Teams marketing channel with spending trend graph","Update budget tracking dashboard in Google Data Studio","If over monthly budget: Send escalation email to CFO with cost breakdown"],keywords:"SMS budget tracking Australia, marketing campaign monitoring, multi-channel alerts, SMS spending analysis"},{title:"Service Continuity Protection for Critical Communications",industry:"Healthcare & Emergency Services",description:"Ensure uninterrupted SMS services for critical communications like appointment reminders, emergency alerts, and patient notifications through proactive balance monitoring.",trigger:"DataFlows SMS - Low Balance Alert",steps:["Balance drops below 500 credits (higher threshold for critical services)","Immediate webhook triggers emergency protocol workflow","Send urgent SMS to IT Director and Operations Manager: '\ud83d\udea8 URGENT: SMS credits below safety threshold'","Send encrypted email to finance team with expedited purchase request","Create high-priority ServiceNow ticket: 'Critical: SMS credit top-up required'","Activate backup credit reserve if available (flagged in system)","Log incident to compliance audit trail for healthcare regulatory requirements","Send status update every 2 hours until balance is restored above 1,000 credits","Generate post-incident report for stakeholder review"],keywords:"healthcare SMS alerts Australia, critical service monitoring, emergency communication continuity, patient notification systems"},{title:"Predictive Analytics and Usage Forecasting",industry:"Business Intelligence & Analytics",description:"Use historical SMS usage data to predict when credits will run out and automatically trigger purchases before you hit the threshold.",trigger:"DataFlows SMS - Low Balance Alert",steps:["Balance alert triggers with current balance (150 credits remaining)","Pull historical usage data from Google Sheets (last 90 days)","Calculate average daily usage: 35 credits/day, peak usage: 120 credits/day","Forecast depletion date based on usage patterns: 4.3 days until zero balance","Check upcoming campaign calendar in Airtable for scheduled SMS blasts","Adjust forecast: 'High-volume campaign scheduled in 3 days - will exceed current balance'","Automatically calculate optimal purchase amount: 1,500 credits recommended","Send predictive report to finance team: 'Balance will deplete in 3 days based on usage trends'","Create auto-purchase request in approval workflow (Monday.com)","Update machine learning model with latest usage patterns for improved accuracy"],keywords:"SMS usage forecasting Australia, predictive credit analytics, usage pattern analysis, automated budget planning"},{title:"Regional Office Coordination and Load Balancing",industry:"Multi-Location 
2Enterprises",description:"Coordinate SMS credit distribution across multiple regional offices and automatically redistribute credits based on actual usage and regional demand.",trigger:"DataFlows SMS - Low Balance Alert",steps:["Sydney office balance drops below 100 credits (threshold triggered)","Query all regional office balances via DataFlows API: Melbourne: 450, Brisbane: 320, Perth: 180","Calculate total available credits across all offices: 1,050 credits","Check regional usage patterns in database: Sydney has highest volume (retail location)","Create internal credit transfer request in shared management portal","Send approval request to Regional Operations Manager via email and SMS","Upon approval: Redistribute 200 credits from Melbourne office to Sydney office","Update centralised credit tracking spreadsheet with transfer details","Send confirmation to both office managers: 'Credit transfer completed - SYD: 287, MEL: 250'","Log transaction for monthly reconciliation and chargeback billing between offices","If total company credits < 500: Trigger company-wide purchase workflow"],keywords:"multi-office SMS management Australia, credit distribution automation, regional SMS coordination, enterprise credit tracking"}].map(((e,t)=>(0,jt.jsxs)("div",{className:"use-case-detailed","data-aos":"fade-up",children:[(0,jt.jsx)("div",{className:"use-case-header",children:(0,jt.jsxs)("div",{children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("span",{className:"industry-tag",children:e.industry})]})}),(0,jt.jsx)("p",{className:"use-case-description",children:e.description}),(0,jt.jsxs)("div",{className:"workflow-breakdown",children:[(0,jt.jsx)("h4",{children:"Workflow Steps:"}),(0,jt.jsx)("ol",{children:e.steps.map(((e,t)=>(0,jt.jsx)("li",{children:e},t)))})]})]},t)))]})}),(0,jt.jsx)("section",{className:"australian-focus","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Why Australian Businesses Choose DataFlows Low Balance Alerts"}),(0,jt.jsxs)("div",{className:"benefits-grid",children:[(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\u26a1 Instant Webhooks (No Polling)"}),(0,jt.jsx)("p",{children:"Get alerted within 2 seconds of crossing your threshold. Unlike other platforms that check every 5-15 minutes, DataFlows uses instant webhooks for real-time alerts."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83c\udfaf Customisable Thresholds"}),(0,jt.jsx)("p",{children:"Set your alert threshold anywhere from 10 to 10,000 credits. Perfect for both small businesses and high-volume enterprise campaigns across Australia."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcb0 Prevent Revenue Loss"}),(0,jt.jsx)("p",{children:"Never miss critical transactional SMS (order confirmations, delivery updates, appointment reminders) due to insufficient credits. Maintain 100% uptime."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd17 6,000+ App Integrations"}),(0,jt.jsx)("p",{children:"Connect with Stripe, Slack, Gmail, Google Sheets, Xero, MYOB, Microsoft Teams, and thousands more apps via Zapier."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcca Usage Analytics"}),(0,jt.jsx)("p",{children:"Track credit consumption patterns over time. Identify usage spikes, optimise campaigns, and forecast future credit needs with data-driven insights."})]}),(0,jt.jsxs)("div",{className:"benefit-item",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd12 Enterprise-Grade Security"}),(0,jt.jsx)("p",{children:"All webhook communications are encrypted (HTTPS/TLS). Compliant with Australian Privacy Act 1988 and ACMA regulations. SOC 2 certified infrastructure."})]})]})]})}),(0,jt.jsx)("section",{className:"setup-guide","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"How to Set Up Low Balance Alerts in Zapier"}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 1: Configure Your Balance Threshold"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Log in to your DataFlows SMS account: ",(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au",target:"_blank",rel:"noopener noreferrer",children:"https://sms.dataflows.com.au"})]}),(0,jt.jsx)("li",{children:"Navigate to Settings \u2192 Notifications \u2192 Balance Alerts"}),(0,jt.jsx)("li",{children:"Set your preferred threshold (recommended: 100-500 credits for most businesses)"}),(0,jt.jsx)("li",{children:"Enable webhook notifications for Zapier integration"}),(0,jt.jsx)("li",{children:"Save your settings"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 2: Create Your Zap"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Log in to ",(0,jt.jsx)("a",{href:"https://zapier.com",target:"_blank",rel:"noopener noreferrer",children:"Zapier"})]}),(0,jt.jsx)("li",{children:'Click "Create Zap"'}),(0,jt.jsx)("li",{children:'Search for "DataFlows SMS" and select it as your trigger app'}),(0,jt.jsxs)("li",{children:["Choose trigger event: ",(0,jt.jsx)("strong",{children:'"L
2ow Balance Alert"'})]})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 3: Connect Your DataFlows Account"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click "Sign in to DataFlows SMS"'}),(0,jt.jsxs)("li",{children:["Enter your API token (get it from: ",(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/developers/api",target:"_blank",rel:"noopener noreferrer",children:"https://sms.dataflows.com.au/developers/api"}),")"]}),(0,jt.jsx)("li",{children:'Click "Yes, Continue to DataFlows SMS"'}),(0,jt.jsx)("li",{children:"Test the trigger\u2014you can manually trigger a test alert from your DataFlows dashboard"}),(0,jt.jsx)("li",{children:"Verify you see balance data: current_balance, threshold, account_name, timestamp"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 4: Add Action Steps"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:'Click "+" to add an action step'}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Example 1: Email Billing Team"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Choose app: Gmail or Email by Zapier"}),(0,jt.jsx)("li",{children:"Action: Send Email"}),(0,jt.jsx)("li",{children:"To: [email protected]"}),(0,jt.jsxs)("li",{children:['Subject: "SMS Credits Low - Current Balance: ',"{","{"," current_balance ","}","}",'"']}),(0,jt.jsx)("li",{children:"Body: Include balance details, purchase link, estimated days remaining"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Example 2: Slack Notification"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Choose app: Slack"}),(0,jt.jsx)("li",{children:"Action: Send Channel Message"}),(0,jt.jsx)("li",{children:"Channel: #operations or #finance"}),(0,jt.jsxs)("li",{children:['Message: "\u26a0\ufe0f SMS Credits Low: ',"{","{"," current_balance ","}","}"," credits remaining (threshold: ","{","{"," threshold ","}","}",' )"']})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Example 3: Log to Google Sheets"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Choose app: Google Sheets"}),(0,jt.jsx)("li",{children:"Action: Create Spreadsheet Row"}),(0,jt.jsx)("li",{children:"Columns: Timestamp, Balance, Threshold, Account, Status"}),(0,jt.jsx)("li",{children:"This creates a historical log of all balance alerts for analytics"})]})]})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 5: Set Up Multi-Tier Alerts (Optional but Recommended)"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsxs)("li",{children:["Add a ",(0,jt.jsx)("strong",{children:"Paths"})," step after the trigger"]}),(0,jt.jsxs)("li",{children:["Create separate paths for different balance levels:",(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path A (Warning):"})," current_balance is less than 100 AND greater than 50",(0,jt.jsx)("ul",{children:(0,jt.jsx)("li",{children:"Action: Email billing team (standard priority)"})})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path B (Urgent):"})," current_balance is less than 50 AND greater than 25",(0,jt.jsx)("ul",{children:(0,jt.jsx)("li",{children:"Action: Send Slack alert + SMS to finance manager"})})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Path C (Critical):"})," current_balance is less than 25",(0,jt.jsx)("ul",{children:(0,jt.jsx)("li",{children:"Action: Trigger automatic credit purchase via Stripe"})})]})]})]}),(0,jt.jsx)("li",{children:"This ensures escalating responses as your balance decreases"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 6: Test and Activate"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"Test your Zap with the sample data from Step 3"}),(0,jt.jsx)("li",{children:"Verify all notification channels receive alerts (check email, Slack, sheets, etc.)"}),(0,jt.jsx)("li",{children:"Optionally: Manually trigger a test alert from your DataFlows dashboard to verify end-to-end workflow"}),(0,jt.jsx)("li",{children:"Once confirmed working, turn on your Zap"}),(0,jt.jsx)("li",{children:"Monitor your Zap history for the first few days to ensure reliability"})]})]}),(0,jt.jsxs)("div",{className:"setup-step",children:[(0,jt.jsx)("h3",{children:"Step 7: Set Up Automated Credit Purchasing (Advanced)"}),(0,jt.jsxs)("ol",{children:[(0,jt.jsx)("li",{children:"After the Low Balance Alert trigger, add these action steps:"}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Filter:"})," Only continue if current_balance < 50 (prevents premature purchases)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Google Sheets Lookup:"})," Check if auto-purchase is enabled in your configuration sheet"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Paths:"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Path A (Auto-purchase enabled): Continue to payment step"}),(0,jt.jsx)("li",{children:"Path B (Auto-purchase disabled): Send approval request email to finance manager"})]})]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Stripe:"})," Create Payment Intent for credit package (e.g., $250 AUD for 1,000 credits)"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"DataFlows SMS API:"})," Add credits to account upon successful payment"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Gmail:"})," Send confirmation email with invoice to accounts team"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Slack:"}),' Post success notification: "\u2705 Auto-purchased 1,000 credits - New balance: 1,047"']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Google Sheets:"})," Log transaction for financial records and audit trail"]})]}),(0,jt.jsxs)("p",{className:"setup-note",children:[(0,jt.jsx)("strong",{children:"Important:"})," Ensure you have appropriate financial controls, spending limits, and approval workflows before enabling fully automated purchasing."]})]})]})}),(0,jt.jsx)("section",{className:"best-practices","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Best Practices for Australian Businesses"}),(0,jt.jsxs)("div",{className:"best-practices-grid",children:[(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h3",{children:"1. Set Threshold Based on Usage Patterns"}),(0,jt.jsx)("p",{children:"Analyse your typical daily SMS volume and set your threshold to give you at least 3-5 days buffer. High-volume businesses (1,000+ SMS/day) should set thresholds at 500-1,000 credits. Low-volume businesses (50-100 SMS/day) can use 100-200 credits."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h3",{children:"2. Implement Multi-Tier Alert System"}),(0,jt.jsx)("p",{children:"Don't rely on a single alert. Create escalating workflows: Warning (100 credits) \u2192 Urgent (50 credits) \u2192 Critical (25 credits). Each tier should have increasing urgency and involve more senior stakeholders."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h3",{children:"3. Prevent Duplicate Alerts"}),(0,jt.jsx)("p",{children:'Use Zapier filters to prevent notification fatigue. Example filter: "Only continue if current_balance > 50 OR last_alert_sent was more than 24 hours ago". This prevents repeated alerts for the same balance level.'})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h3",{children:"4. Track Historical Data"}),(0,jt.jsx)("p",{children:"Log every alert to Google Sheets or Airtable with timestamp, balance, and any actions taken. After 3-6 months, analyse this data to i
2dentify usage patterns, seasonal trends, and optimal threshold settings."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h3",{children:"5. Coordinate with Campaign Calendar"}),(0,jt.jsx)("p",{children:"Integrate your Low Balance Alert with your marketing calendar. Before launching high-volume campaigns, check your balance and top up proactively. Consider a pre-campaign workflow that checks if current balance is sufficient for planned send volume."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h3",{children:"6. Include Context in Notifications"}),(0,jt.jsx)("p",{children:"Don't just alert that balance is low\u2014provide actionable context. Include: current balance, threshold, estimated days remaining based on average usage, link to purchase credits, recent usage spike indicators, and upcoming campaigns that may be affected."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h3",{children:"7. Test Your Alert System Quarterly"}),(0,jt.jsx)("p",{children:"Every 3 months, manually trigger a test alert from your DataFlows dashboard to verify your entire workflow still functions correctly. Team members change, email addresses update, and Zapier connections can expire\u2014regular testing ensures reliability when you need it most."})]}),(0,jt.jsxs)("div",{className:"practice-item",children:[(0,jt.jsx)("h3",{children:"8. Consider Business Hours Logic"}),(0,jt.jsx)("p",{children:"Add a filter step to check if the alert fires during business hours (9am-5pm AEDT). If during business hours: Send email + Slack. If after hours: Send SMS to on-call manager + create urgent ticket. This ensures appropriate response regardless of when balance drops."})]})]})]})}),(0,jt.jsx)("section",{className:"integration-examples","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Popular App Integrations for Low Balance Alerts"}),(0,jt.jsx)("p",{className:"section-intro",children:"The Low Balance Alert trigger integrates seamlessly with thousands of business apps via Zapier. Here are the most popular integrations for Australian businesses:"}),(0,jt.jsxs)("div",{className:"integration-grid",children:[(0,jt.jsxs)("div",{className:"integration-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udce7 Email & Communication"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Gmail:"})," Send formatted alerts to billing team with purchase links and balance details"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Outlook:"})," Integrate with Microsoft 365 for enterprise email notifications"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Slack:"})," Real-time alerts to operations channels with @mentions for urgent action"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Microsoft Teams:"})," Post balance updates to finance team channels"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Twilio:"})," Send SMS alerts to mobile phones of finance managers"]})]})]}),(0,jt.jsxs)("div",{className:"integration-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcb3 Payment & Finance"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Stripe:"})," Automatically charge saved payment methods to purchase credits"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"PayPal:"})," Create payment requests for credit top-ups"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Xero:"})," Log credit purchases as expenses for Australian accounting"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"MYOB:"})," Sync credit expenses to your business accounting system"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"QuickBooks:"})," Track SMS spend against marketing budgets"]})]})]}),(0,jt.jsxs)("div",{className:"integration-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcca Data & Analytics"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Google Sheets:"}
2)," Log historical balance data for trend analysis"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Airtable:"})," Create sophisticated credit management databases"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Google Data Studio:"})," Visualise credit consumption trends over time"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Tableau:"})," Enterprise BI dashboards for SMS spend analysis"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Microsoft Excel:"})," Export balance data for financial reporting"]})]})]}),(0,jt.jsxs)("div",{className:"integration-card",children:[(0,jt.jsx)("h3",{children:"\ud83c\udfab Project Management"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Asana:"})," Create tasks for billing team to purchase credits"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Trello:"}),' Add cards to "Urgent Actions" board when balance is low']}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Monday.com:"})," Update project boards with budget status"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Jira:"})," Create tickets for operations team to investigate usage spikes"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"ClickUp:"})," Assign credit purchase tasks with priority levels"]})]})]}),(0,jt.jsxs)("div",{className:"integration-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd14 Incident Management"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"PagerDuty:"})," Create incidents when balance drops to critical levels"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"ServiceNow:"})," Open tickets in ITSM for credit top-up requests"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Opsgenie:"})," Alert on-call engineers during after-hours balance drops"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"VictorOps:"})," Escalate to management if balance remains critical"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Statuspage:"})," Update service status if SMS functionality at risk"]})]})]}),(0,jt.jsxs)("div",{className:"integration-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcbc CRM & Sales"}),(0,jt.jsxs)("ul",{children:[(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"HubSpot:"})," Track SMS marketing spend against campaign budgets"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Salesforce:"})," Update opportunity records with communication costs"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Pipedrive:"})," Log SMS expenses against deals and campaigns"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"Zoho CRM:"})," Monitor SMS credit usage by sales team or region"]}),(0,jt.jsxs)("li",{children:[(0,jt.jsx)("strong",{children:"ActiveCampaign:"})," Coordinate SMS credit levels with marketing automation"]})]})]})]})]})}),(0,jt.jsx)("section",{className:"industry-scenarios","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Industry-Specific Balance Alert Strategies"}),(0,jt.jsx)("p",{className:"section-intro",children:"Different Australian industries have unique SMS usage patterns and balance management needs. Here's how to optimise the Low Balance Alert for your sector:"}),(0,jt.jsxs)("div",{className:"industry-scenarios-grid",children:[(0,jt.jsxs)("div",{className:"scenario-card",children:[(0,jt.jsx)("h3",{children:"\ud83c\udfe5 Healthcare & Medical Practices"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Usage Pattern:"})," Steady daily volume for appointment reminders, occasional spikes for recall campaigns"]}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Recommended Threshold:"})," 500-1,000 credits (7-14 days buffer)"]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Alert Strategy:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Set higher threshold due to service-critical nature of appointment reminders"}),(0,jt.jsx)("li",{children:"Implement automatic credit purchase to prevent disruption to patient care"}),(0,jt.jsx)("li",{children:"Alert practice manager AND IT administrator for redundancy"}),(0,jt.jsx)("li",{children:"Log all alerts to compliance audit trail for healthcare regulations"}),(0,jt.jsx)("li",{children:"Schedule monthly balance reviews to align with billing cycles"})]})]}),(0,jt.jsxs)("div",{className:"scenario-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udecd\ufe0f Retail & E-commerce"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Usage Pattern:"})," Variable volume, major spikes during sales events and promotional campaigns"]}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Recommended Threshold:"})," 200-500 credits normally, 1,000+ before major sales"]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Alert Strategy:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Integrate alert with marketing calendar\u2014check balance before campaign launches"}),(0,jt.jsx)("li",{children:"Set up predictive alerts based on scheduled campaign volumes"}),(0,jt.jsx)("li",{children:"Alert marketing manager immediately (critical for time-sensitive promotions)"}),(0,jt.jsx)("li",{children:"Auto-purchase credits during high-volume periods (Black Friday, Boxing Day sales)"}),(0,jt.jsx)("li",{children:"Track credit spend per campaign in Google Sheets for ROI analysis"})]})]}),(0,jt.jsxs)("div",{className:"scenario-card",children:[(0,jt.jsx)("h3",{children:"\ud83c\udfe2 Real Estate Agencies"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Usage Pattern:"})," Moderate daily volume, spikes for open home notifications and auction updates"]}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Recommended Threshold:"})," 150-300 credits"]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Alert Strategy:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Alert office manager during business hours, principal after hours"}),(0,jt.jsx)("li",{children:"Coordinate with open home schedule\u2014ensure sufficient credits before weekends"}),(0,jt.jsx)("li",{children:"Track credit usage by agent/office for internal 
2chargeback billing"}),(0,jt.jsx)("li",{children:"Send weekly balance reports to franchise/network head office"}),(0,jt.jsx)("li",{children:"Implement auto-purchase with monthly spending cap for budget control"})]})]}),(0,jt.jsxs)("div",{className:"scenario-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\ude97 Automotive & Service Centres"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Usage Pattern:"})," Steady volume for service reminders, appointment confirmations, and vehicle ready notifications"]}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Recommended Threshold:"})," 100-200 credits"]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Alert Strategy:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Alert service manager and accounts team simultaneously"}),(0,jt.jsx)("li",{children:"Track seasonal patterns (higher usage during registration renewal periods)"}),(0,jt.jsx)("li",{children:"Integrate with workshop management system for usage forecasting"}),(0,jt.jsx)("li",{children:"Set up automatic monthly credit purchase to align with regular servicing cycles"}),(0,jt.jsx)("li",{children:"Generate quarterly reports showing SMS ROI for customer retention"})]})]}),(0,jt.jsxs)("div",{className:"scenario-card",children:[(0,jt.jsx)("h3",{children:"\ud83c\udf93 Education & Training Providers"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Usage Pattern:"})," Seasonal spikes at semester start, exam periods, and enrolment deadlines"]}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Recommended Threshold:"})," 300-500 credits normally, 1,000+ during peak periods"]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Alert Strategy:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Align threshold with academic calendar\u2014increase before enrolment periods"}),(0,jt.jsx)("li",{children:"Alert student services manager and finance department"}),(0,jt.jsx)("li",{children:"Track credit usage by campus/department for budget allocation"}),(0,jt.jsx)("li",{children:"Implement approval workflow for credit purchases over $500 AUD"}),(0,jt.jsx)("li",{children:"Generate semester-end usage reports for budget planning"})]})]}),(0,jt.jsxs)("div",{className:"scenario-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcbc Professional Services (Legal, Accounting)"}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Usage Pattern:"})," Low-to-moderate steady volume, spikes for deadline reminders (tax time, court dates)"]}),(0,jt.jsxs)("p",{children:[(0,jt.jsx)("strong",{children:"Recommended Threshold:"})," 100-200 credits"]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Alert Strategy:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Alert practice manager with copy to accounts team"}
vendor: 4,629 bytes, line 2
2),(0,jt.jsx)("li",{children:"Track credit usage by matter/client for billing purposes"}),(0,jt.jsx)("li",{children:"Integrate with case management system for deadline coordination"}),(0,jt.jsx)("li",{children:"Higher threshold during tax season (accountants) or court session periods (lawyers)"}),(0,jt.jsx)("li",{children:"Log all credit purchases as business expenses in accounting software (Xero/MYOB)"})]})]})]})]})}),(0,jt.jsx)("section",{className:"troubleshooting","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Troubleshooting Common Issues"}),(0,jt.jsxs)("div",{className:"troubleshooting-grid",children:[(0,jt.jsxs)("div",{className:"issue-card",children:[(0,jt.jsx)("h3",{children:"\u274c Not Receiving Alerts"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Possible Causes:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Zap is turned off in Zapier dashboard"}),(0,jt.jsx)("li",{children:"Balance threshold not configured in DataFlows SMS settings"}),(0,jt.jsx)("li",{children:"Webhook notifications disabled in account settings"}),(0,jt.jsx)("li",{children:"Zapier API connection expired or disconnected"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:'Check Zap status\u2014should show "On" in green'}),(0,jt.jsx)("li",{children:"Verify threshold setting in DataFlows SMS: Settings \u2192 Notifications \u2192 Balance Alerts"}),(0,jt.jsx)("li",{children:"Reconnect DataFlows SMS account in Zapier with fresh API token"}),(0,jt.jsx)("li",{children:"Manually trigger test alert from DataFlows dashboard to verify connectivity"}),(0,jt.jsx)("li",{children:"Check Zapier task history for error messages"})]})]}),(0,jt.jsxs)("div",{className:"issue-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udd01 Receiving Duplicate Alerts"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Possible Causes:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Multiple Zaps monitoring the same balance threshold"}),(0,jt.jsx)("li",{children:"Balance fluctuating around threshold (99, 101, 99, 102 credits)"}),(0,jt.jsx)("li",{children:"No filter to prevent re-triggering for same balance level"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Audit all active Zaps\u2014disable duplicate balance monitoring Zaps"}),(0,jt.jsx)("li",{children:'Add filter: "Only continue if current_balance is less than [threshold - 10]" to create buffer zone'}),(0,jt.jsx)("li",{children:"Use Google Sheets to track last alert timestamp\u2014only send if >24 hours since last alert"}),(0,jt.jsx)("li",{children:'Implement state management: store "alert_sent" flag, only clear when balance goes above threshold + 50'})]})]}),(0,jt.jsxs)("div",{className:"issue-card",children:[(0,jt.jsx)("h3",{children:"\u23f1\ufe0f Delayed Alerts"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Possible Causes:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Using polling-based trigger instead of webhook (shouldn't happen with DataFlows)"}),(0,jt.jsx)("li",{children:"Zapier service delays during high-traffic periods"}),(0,jt.jsx)("li",{children:"Complex multi-step Zap taking time to execute"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Verify you're using the instant webhook trigger (not scheduled/polling)"}),(0,jt.jsx)("li",{children:"Simplify Zap\u2014move complex logic to subsequent Zaps triggered by webhooks"}),(0,jt.jsx)("li",{children:"Check Zapier status page for platform-wide delays: status.zapier.com"}),(0,jt.jsx)("li",{children:"Contact DataFlows support to verify webhook delivery times from our side"})]})]}),(0,jt.jsxs)("div",{className:"issue-card",children:[(0,jt.jsx)("h3",{children:"\u2753 Inaccurate Balance Information"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Possible Causes:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Caching delay between SMS send and balance update"}),(0,jt.jsx)("li",{children:"Multiple users/systems sending SMS simultaneously"}),(0,jt.jsx)("li",{children:"Balance shown in trigger doesn't match dashboard"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Balance updates are real-time in DataFlows\u2014refresh your dashboard"}),(0,jt.jsx)("li",{children:"Check Zap history to see exact balance value sent in 
2webhook payload"}),(0,jt.jsx)("li",{children:"If discrepancy persists, contact DataFlows support with timestamp and balance values"}),(0,jt.jsx)("li",{children:"Verify you're not looking at a sub-account or different organisation"})]})]}),(0,jt.jsxs)("div",{className:"issue-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcb8 Auto-Purchase Not Working"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Possible Causes:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Payment method expired or declined"}),(0,jt.jsx)("li",{children:"Stripe/PayPal connection to Zapier broken"}),(0,jt.jsx)("li",{children:"Filter conditions not met (balance not low enough)"}),(0,jt.jsx)("li",{children:"Insufficient permissions on payment platform"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Verify payment method is valid and has sufficient funds"}),(0,jt.jsx)("li",{children:"Test Stripe/PayPal action independently with manual test"}),(0,jt.jsx)("li",{children:"Check filter logic\u2014ensure balance threshold triggers payment correctly"}),(0,jt.jsx)("li",{children:"Confirm Stripe API key has payment creation permissions"}),(0,jt.jsx)("li",{children:"Review Zapier task history for specific error messages from payment provider"}),(0,jt.jsx)("li",{children:"Implement fallback: if auto-purchase fails, send urgent email to finance team"})]})]}),(0,jt.jsxs)("div",{className:"issue-card",children:[(0,jt.jsx)("h3",{children:"\ud83d\udcca Historical Data Not Logging"}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Possible Causes:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Google Sheets connection expired"}),(0,jt.jsx)("li",{children:"Spreadsheet deleted or permissions changed"}),(0,jt.jsx)("li",{children:"Row limit reached in spreadsheet"}),(0,jt.jsx)("li",{children:"Column mapping incorrect"})]}),(0,jt.jsx)("p",{children:(0,jt.jsx)("strong",{children:"Solutions:"})}),(0,jt.jsxs)("ul",{children:[(0,jt.jsx)("li",{children:"Reconnect Google Sheets integration in Zapier"}),(0,jt.jsx)("li",{children:"Verify spreadsheet still exists and Zapier has edit permissions"}),(0,jt.jsx)("li",{children:"Create new sheet if approaching 5 million cell limit"}),(0,jt.jsx)("li",{children:"Check column headers match Zapier mapping exactly"}),(0,jt.jsx)("li",{children:"Test Google Sheets action independently to identify specific issue"})]})]})]})]})}),(0,jt.jsx)("section",{className:"faq-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Frequently Asked Questions"}),(0,jt.jsx)("div",{className:"faq-grid",children:[{question:"What is the default threshold for the Low Balance Alert trigger?",answer:"The default threshold is set at 100 credits, meaning the trigger fires when your balance drops to 100 credits or below. This threshold is fully customisable in your DataFlows SMS account settings, allowing you to set it anywhere from 10 to 10,000 credits based on your business needs. Many Australian businesses running high-volume campaigns set their threshold at 500-1,000 credits to ensure adequate buffer time for purchasing additional credits."},{question:"How quickly does the Low Balance Alert trigger fire?",answer:"The Low Balance Alert uses instant webhooks, not polling, so the trigger fires within 1-2 seconds of your balance dropping below the threshold. This real-time notification ensures you have maximum time to top up credits before running out. Unlike polling-based triggers that check every 5-15 minutes, DataFlows SMS sends an immediate webhook to Zapier the moment your balance crosses the threshold, enabling instant automated responses."},{question:"Can I set multiple balance alert thresholds for different actions?",answer:"Yes! You can create multiple Zaps with different filter conditions to trigger different actions at different balance levels. For example: Balance < 100 \u2192 Email billing team; Balance < 50 \u2192 Urgent Slack alert to management; Balance < 25 \u2192 Automatic credit purchase; Balance < 10 \u2192 Pause all non-critical SMS campaigns. This multi-tier approach ensures escalating responses as your balance decreases, giving you maximum flexibility and control."},{question:"Will I receive duplicate alerts if my balance stays below the threshold?",answer:"No, the trigger is designed to fire only once when your balance crosses below the threshold. It won't trigger again until your balance goes above the threshold and then drops below it again. However, you can create custom workflows in Zapier to send periodic reminders if the balance remains low for extended periods. For example, use a combination of the trigger, filters, and delay steps to send daily reminders until credits are topped up."},{question:"Can I automatically purchase SMS credits when the alert triggers?",answer:"Yes! You can integrate the Low Balance Alert with payment platforms like Stripe, PayPal, or your company's procurement system to automatically purchase credits. Many Australian businesses use this workflow: Alert triggers \u2192 Check if auto-purchase is enabled \u2192 Create Stripe payment \u2192 Credits automatically added to account \u2192 Confirmation sent to finance team. This ensures you never run out of credits during critical campaigns. Note: Ensure you have appropriate financial controls and approval workflows in place."},{question:"What information does the Low Balance Alert trigger provide?",answer:"The trigger provides comprehensive balance information including: current credit balance (numeric), threshold level, account name, account ID, timestamp of alert, and estimated depletion time based on recent usage patterns. This data can be used in subsequent Zapier actions to make intelligent decisions, such as calculating how many credits to purchase or determining the urgency level of the alert. All data fields are available for mapping in your Zapier workflows."},{question:"How can I track SMS credit usage trends over time?",answer:"Create a Zapier workflow that logs each Low Balance Alert to Google Sheets or Airtable with timestamp, balance, and usage rate data. Over time, this creates a historical record that you can analyse to identify usage patterns, predict future consumption, and optimise your credit purchasing schedule. Many Australian businesses use this data to negotiate bulk credit discounts or adju
2st their monthly SMS budgets based on actual consumption trends rather than estimates."},{question:"Can I use the Low Balance Alert for multiple DataFlows SMS accounts?",answer:"Absolutely! If you manage multiple DataFlows SMS accounts (for different brands, regions, or departments), you can create separate Zaps for each account with different thresholds and notification workflows. For example, your retail brand might need alerts at 500 credits, while your corporate communications account might only need alerts at 100 credits. Each account connects independently to Zapier, allowing completely customised balance monitoring."},{question:"What happens if I don't top up my credits after receiving an alert?",answer:"If your balance reaches zero, you won't be able to send SMS messages until you purchase more credits. However, you'll still receive incoming SMS messages and webhook triggers will continue to fire (including the Low Balance Alert itself). This is why we strongly recommend setting your threshold high enough to give you adequate time to purchase credits \u2013 typically 2-3 days of average usage. For business-critical services, consider setting up automated credit purchases or maintaining a higher credit balance buffer."},{question:"Is the Low Balance Alert compliant with Australian financial and privacy regulations?",answer:"Yes, the Low Balance Alert is fully compliant with Australian regulations including the Privacy Act 1988 and ACMA telecommunications regulations. The alert only contains account balance information and does not include any customer data or message content. All webhook communications are encrypted (HTTPS/TLS), and you control which team members receive balance notifications through your Zapier workflow configuration. For financial compliance, the alert includes timestamps and transaction references suitable for audit trails."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"faq-item",children:[(0,jt.jsx)("h3",{className:"faq-question",children:e.question}),(0,jt.jsx)("p",{className:"faq-answer",children:e.answer})]},t)))})]})}),(0,jt.jsx)("section",{className:"cta-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"container",children:[(0,jt.jsx)("h2",{children:"Ready to Never Run Out of SMS Credits Again?"}),(0,jt.jsx)("p",{children:"Connect DataFlows SMS with Zapier and automate your entire credit management workflow. From instant alerts to automatic purchases\u2014set it up once and forget about manual balance monitoring."}),(0,jt.jsxs)("div",{className:"cta-buttons",children:[(0,jt.jsx)("a",{href:"https://zapier.com/apps/dataflows-sms",className:"btn btn-primary",target:"_blank",rel:"noopener noreferrer",children:"Get Started with Zapier"}),(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"btn btn-secondary",children:"View All Zapier Features"})]})]})}),t&&(0,jt.jsx)("button",{className:"scroll-to-top",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})},"aria-label":"Scroll to top",children:"\u2191"}),(0,jt.jsx)(bt,{})]})},Nh=()=>{const[t,s]=(0,e.useState)(!1),[n,i]=(0,e.useState)(null);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const r=[{q:"How do I connect DataFlows to GoHighLevel?",a:"Install the DataFlows SMS integration from the GoHighLevel Marketplace. Connect your DataFlows account using OAuth \u2014 no coding required. Once connected, DataFlows SMS actions are available in your workflows immediately."},{q:"Can I send personalised SMS from GoHighLevel workflows?",a:"Yes. Use HighLevel custom values (such as {{contact.first_name}}, {{contact.business_name}}, or any custom field) directly inside your DataFlows SMS message templates. Every message is personalised at send time."},{q:"Does DataFlows support two-way SMS inside GoHighLevel?",a:"Yes. Replies from your contacts are delivered back into your HighLevel account so you can handle responses without leaving your CRM. Conversations are tracked per contact."},{q:"Is this integration compliant with Australian SMS law?",a:"Yes. DataFlows is an ACMA-registered Originating Telco, listed on the official ACMA SMS Sender ID Register. All messaging is compliant with the Australian Spam Act 2003. Sender ID registration and Australian compliance are handled automatically \u2014 you don't need to do anything separately."},{q:"Do I need a DataFlows account to use this integration?",a:"Yes. You need an active DataFlows account. Pricing is pay-as-you-go from $35 AUD, with no monthly fees and no lock-in contracts. Create your account at sms.dataflows.com.au and then install the integration from the HighLevel Marketplace."},{q:"Can I use a branded sender ID with GoHighLevel?",a:"Yes. DataFlows supports alphanumeric sender IDs, so your messages arrive displaying your business name instead of a phone number. Sender IDs are registered with ACMA through DataFlows on your behalf."}];return(0,jt.jsxs)("div",{className:"ghl-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"GoHighLevel SMS Integration \u2014 DataFlows SMS for HighLevel CRM"}),(0,jt.jsx)("meta",{name:"description",content:"Send automated SMS from Go
2HighLevel workflows using DataFlows. Trigger messages from any workflow step, run bulk campaigns, and manage two-way conversations \u2014 ACMA compliant Australian SMS."}),(0,jt.jsx)("meta",{name:"keywords",content:"GoHighLevel SMS, HighLevel SMS integration, GoHighLevel SMS Australia, CRM SMS automation, HighLevel workflow SMS, GoHighLevel DataFlows, Australian CRM SMS, HighLevel bulk SMS, GoHighLevel two-way SMS"}),(0,jt.jsx)("meta",{property:"og:title",content:"GoHighLevel SMS Integration \u2014 DataFlows SMS for HighLevel CRM"}),(0,jt.jsx)("meta",{property:"og:description",content:"Trigger SMS from any GoHighLevel workflow step. Branded sender ID, two-way conversations, bulk campaigns \u2014 ACMA-compliant Australian SMS built for agencies and businesses."}),(0,jt.jsx)("meta",{property:"og:type",content:"website"}),(0,jt.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/gohighlevel")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"DataFlows SMS for GoHighLevel",applicationCategory:"BusinessApplication",operatingSystem:"GoHighLevel",url:"https://marketplace.gohighlevel.com/integration/6a15b8b02a575d4e9868c0f3/versions/6a15b8b02a575d4e9868c0f3",description:"Send automated SMS from GoHighLevel workflows. Trigger messages from any workflow step, run bulk campaigns, manage two-way conversations. ACMA-compliant Australian SMS.",offers:{"@type":"Offer",price:"35.00",priceCurrency:"AUD"},author:{"@type":"Organization",name:"DataFlows SMS",url:"https://dataflows.com.au"}})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"GoHighLevel",item:"https://dataflows.com.au/integrations/gohighlevel"}]})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:r.map((e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}})))})})]}),(0,jt.jsx)(_t,{}),(0,jt.jsx)("div",{className:"ghl-breadcrumbs",children:(0,jt.jsx)("div",{className:"ghl-inner",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"GoHighLevel"}]})})}),(0,jt.jsx)("section",{className:"ghl-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"ghl-inner",children:[(0,jt.jsxs)("div",{className:"ghl-hero-badge",children:[(0,jt.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:(0,jt.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 14.5v-9l6 4.5-6 4.5z"})}),"GoHighLevel Marketplace"]}),(0,jt.jsx)("h1",{className:"ghl-hero-title",children:"DataFlows SMS for GoHighLevel"}),(0,jt.jsx)("p",{className:"ghl-hero-subtitle",children:"Bring powerful SMS messaging directly into your HighLevel workflows. Send personalised messages, run broadcast campaigns, and manage two-way conversations \u2014 all without leaving your CRM."}),(0,jt.jsxs)("div",{className:"ghl-hero-actions",children:[(0,jt.jsxs)("a",{href:"https://marketplace.gohighlevel.com/integration/6a15b8b02a575d4e9868c0f3/versions/6a15b8b02a575d4e9868c0f3",target:"_blank",rel:"noreferrer noopener",className:"ghl-btn-primary",children:["Install on GoHighLevel",(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"currentColor",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z",clipRule:"evenodd"})})]}),(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"ghl-btn-outline",children:"Create DataFlows Account"})]}),(0,jt.jsxs)("div",{className:"ghl-hero-trust",children:[(0,jt.jsx)("span",{children:"\u2713 ACMA Registered Originating Telco"}),(0,jt.jsx)("span",{children:"\u2713 Spam Act 2003 Compliant"}),(0,jt.jsx)("span",{children:"\u2713 OAuth \u2014 No Coding Required"}),(0,jt.jsx)("span",{children:"\u2713 Pay-as-you-go from $35 AUD"})]})]})}),(0,jt.jsx)("section",{className:"ghl-section",id:"features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"ghl-inner",children:[(0,jt.jsxs)("div",{className:"ghl-section-header",children:[(0,jt.jsx)("span",{className:"ghl-label",children:"Features"}),(0,jt.jsx)("h2",{children:"Everything You Need for CRM-Powered SMS"}),(0,jt.jsx)("p",{children:"DataFlows adds a full SMS channel to your GoHighLevel account \u2014 automation, tw
2o-way messaging, branded sender ID, and bulk campaigns in one integration."})]}),(0,jt.jsx)("div",{className:"ghl-features-grid",children:[{icon:"\u26a1",title:"Workflow Automation",desc:"Trigger SMS from any workflow step \u2014 contact created, form submitted, appointment booked, deal stage changed, and more. Fully automated, no manual action needed."},{icon:"\ud83d\udcac",title:"Two-Way Conversations",desc:"Receive customer replies directly back into your HighLevel account. Handle responses and keep conversations in one place without switching tools."},{icon:"\ud83c\udff7\ufe0f",title:"Branded Sender ID",desc:"Send from your business name instead of a random number. Every message arrives looking like it came from your brand \u2014 building trust at every touchpoint."},{icon:"\ud83d\udce2",title:"Bulk Campaigns",desc:"Send SMS broadcasts to your full contact list or a targeted segment \u2014 promotions, announcements, appointment reminders, and re-engagement campaigns."},{icon:"\ud83c\udfaf",title:"Custom Field Personalisation",desc:"Use HighLevel custom values to personalise every message with the contact's name, business details, or any CRM field \u2014 at scale."}
2,{icon:"\ud83d\udd10",title:"OAuth Setup",desc:"Connect your DataFlows account in minutes with secure OAuth. No coding required. Your workflows are SMS-ready immediately after setup."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"ghl-feature-card","data-aos":"fade-up","data-aos-delay":60*t,children:[(0,jt.jsx)("span",{className:"ghl-feature-icon",children:e.icon}),(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]},t)))})]})}),(0,jt.jsx)("section",{className:"ghl-section ghl-section--dark",id:"conversations","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"ghl-inner",children:(0,jt.jsxs)("div",{className:"ghl-two-col",children:[(0,jt.jsxs)("div",{className:"ghl-two-col-text",children:[(0,jt.jsx)("span",{className:"ghl-label",children:"Two-Way SMS"}),(0,jt.jsx)("h2",{children:"Replies Come Back Into HighLevel"}),(0,jt.jsx)("p",{children:"When a contact replies to your SMS, the response is delivered straight back into your GoHighLevel account. No separate inbox. No missed messages. All conversations in one place."}),(0,jt.jsxs)("ul",{className:"ghl-checklist",children:[(0,jt.jsx)("li",{children:"Inbound replies visible in HighLevel conversations"}),(0,jt.jsx)("li",{children:"Respond without leaving your CRM"}),(0,jt.jsx)("li",{children:"Full message history per contact"}),(0,jt.jsx)("li",{children:"Works with workflow-triggered messages and manual sends"})]})]}),(0,jt.jsx)("div",{className:"ghl-conversation-preview",children:(0,jt.jsxs)("div",{className:"ghl-conversation-thread",children:[(0,jt.jsx)("div",{className:"ghl-msg ghl-msg--out",children:"Hi Sarah, just a reminder your appointment is tomorrow at 10am. Reply YES to confirm or STOP to opt out. \u2014 Bright Dental"}),(0,jt.jsx)("div",{className:"ghl-msg ghl-msg--in",children:"YES, confirmed. See you then!"}),(0,jt.jsx)("div",{className:"ghl-msg ghl-msg--out",children:"Great, we'll see you tomorrow Sarah. Parking is available on site. \ud83d\ude0a"})]})})]})})}),(0,jt.jsx)("section",{className:"ghl-section",id:"setup","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"ghl-inner",children:[(0,jt.jsxs)("div",{className:"ghl-section-header",children:[(0,jt.jsx)("span",{className:"ghl-label",children:"Setup"}),(0,jt.jsx)("h2",{children:"Up and Running in Minutes"}),(0,jt.jsx)("p",{children:"No developers, no API keys to manage manually. Just OAuth and you're done."})]}),(0,jt.jsxs)("div",{className:"ghl-steps",children:[(0,jt.jsxs)("div",{className:"ghl-step","data-aos":"fade-up","data-aos-delay":"0",children:[(0,jt.jsx)("div",{className:"ghl-step-num",children:"1"}),(0,jt.jsx)("h3",{children:"Create a DataFlows Account"}),(0,jt.jsx)("p",{children:"Sign up at sms.dataflows.com.au. Pay-as-you-go from $35 AUD, with no monthly fees and no lock-in contract."})]}),(0,jt.jsxs)("div",{className:"ghl-step","data-aos":"fade-up","data-aos-delay":"80",children:[(0,jt.jsx)("div",{className:"ghl-step-num",children:"2"}),(0,jt.jsx)("h3",{children:"Install from HighLevel Marketplace"}),(0,jt.jsx)("p",{children:"Find DataFlows SMS in the GoHighLevel Marketplace and click Install. Authorise with OAuth \u2014 no code needed."})]}),(0,jt.jsxs)("div",{className:"ghl-step","data-aos":"fade-up","data-aos-delay":"160",children:[(0,jt.jsx)("div",{className:"ghl-step-num",children:"3"}),(0,jt.jsx)("h3",{children:"Add SMS to Your Workflows"}),(0,jt.jsx)("p",{children:"Open any workflow in HighLevel and add the DataFlows SMS action. Personalise your message with custom values and activate."})]})]})]})}),(0,jt.jsx)("section",{className:"ghl-section ghl-section--dark",id:"use-cases","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"ghl-inner",children:[(0,jt.jsxs)("div",{className:"ghl-section-header",children:[(0,jt.jsx)("span",{className:"ghl-label",children:"Use Cases"}),(0,jt.jsx)("h2",{children:"Built for Agencies & Australian Businesses"}),(0,jt.jsx)("p",{children:"Whether you're running client campaigns or managing your own pipeline, DataFlows SMS fits naturally into any HighLevel workflow."})]}),(0,jt.jsx)("div",{className:"ghl-usecases-grid",children:[{icon:"\ud83d\udcc5",title:"Ap
2pointment Reminders",desc:"Trigger SMS reminders automatically when an appointment is booked or approaching \u2014 reduce no-shows and keep your pipeline moving."},{icon:"\ud83e\udd1d",title:"Lead Nurture Sequences",desc:"Add SMS touchpoints to your nurture workflows. Reach leads at the right moment with personalised messages based on their stage in the funnel."},{icon:"\ud83d\udd01",title:"Deal Stage Notifications",desc:"Send an SMS when a contact moves between pipeline stages \u2014 keep prospects engaged and your team informed automatically."},{icon:"\ud83d\udccb",title:"Form Submission Follow-Up",desc:"Instantly follow up when a contact submits a form. A well-timed SMS response dramatically increases conversion from enquiry to booked appointment."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"ghl-usecase-card","data-aos":"fade-up","data-aos-delay":60*t,children:[(0,jt.jsx)("span",{className:"ghl-usecase-icon",children:e.icon}),(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]},t)))})]})}),(0,jt.jsx)("section",{className:"ghl-section",id:"compliance","data-aos":"fade-up",children:(0,jt.jsx)("div",{className:"ghl-inner",children:(0,jt.jsxs)("div",{className:"ghl-two-col",children:[(0,jt.jsxs)("div",{className:"ghl-two-col-text",children:[(0,jt.jsx)("span",{className:"ghl-label",children:"Compliance"}),(0,jt.jsx)("h2",{children:"Australian SMS Compliance, Handled"}),(0,jt.jsx)("p",{children:"DataFlows is an ACMA-registered Originating Telco, listed on the official ACMA SMS Sender ID Register. Sender ID registration and Australian compliance are handled for you automatically."}),(0,jt.jsxs)("ul",{className:"ghl-checklist",children:[(0,jt.jsx)("li",{children:"ACMA-registered Originating Telco"}),(0,jt.jsx)("li",{children:"Compliant with the Spam Act 2003"}),(0,jt.jsx)("li",{children:"STOP keyword always active \u2014 cannot be disabled"}),(0,jt.jsx)("li",{children:"Sender ID registered with ACMA on your behalf"}),(0,jt.jsx)("li",{children:"Opt-outs tracked and honoured automatically"})]})]}),(0,jt.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"16px"},children:[(0,jt.jsxs)("div",{className:"ghl-feature-card",children:[(0,jt.jsx)("h3",{style:{color:"#f97316",marginBottom:"8px",fontSize:"14px",fontWeight:"600",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Who is this for?"}),(0,jt.jsx)("p",{children:"Marketing agencies and Australian businesses using GoHighLevel for lead management, client communication, and customer engagement who want to add SMS as a channel."})]}),(0,jt.jsxs)("div",{className:"ghl-feature-card",children:[(0,jt.jsx)("h3",{style:{color:"#f97316",marginBottom:"8px",fontSize:"14px",fontWeight:"600",textTransform:"uppercase",letterSpacing:"0.05em"},children:"Requirements"}),(0,jt.jsx)("p",{children:"An active DataFlows account (pay-as-you-go from $35 AUD, no monthly fees) and an active GoHighLevel account. No technical setup required beyond OAuth authorisation."})]})]})]})})}),(0,jt.jsx)("section",{className:"ghl-section ghl-section--dark",id:"faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"ghl-inner",children:[(0,jt.jsxs)("div",{className:"ghl-section-header",children:[(0,jt.jsx)("span",{className:"ghl-label",children:"FAQ"}),(0,jt.jsx)("h2",{children:"Frequently Asked Questions"})]}),(0,jt.jsx)("div",{className:"ghl-faq",children:r.map(((e,t)=>(0,jt.jsxs)("div",{className:"ghl-faq-item"+(n===t?" open":""),children:[(0,jt.jsxs)("button",{className:"ghl-faq-q",onClick:()=>i(n===t?null:t),children:[e.q,(0,jt.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M6 9l6 6 6-6"})})]}),(0,jt.jsx)("p",{className:"ghl-faq-a"+(n===t?"":" ghl-faq-a--hidden"),children:e.a})]},t)))})]})}),(0,jt.jsx)("section",{className:"ghl-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"ghl-inner",children:[(0,jt.jsx)("h2",{className:"ghl-related-title",children:"Related Integrations"}),(0,jt.jsxs)("div",{className:"ghl-related-links",children:[(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"ghl-related-link",children:"Zapier SMS"}),(0,jt.jsx)(fe,{to:"/integrations/power-automate",className:"ghl-related-link",children:"Power Automate SMS"}),(0,jt.jsx)(fe,{to:"/integrations/shopify",className:"ghl-related-link",children:"Shopify SMS"}),(0,jt.jsx)(fe,{to:"/integrations/wordpress",className:"ghl-related-link",children:"WordPress / WooCommerce SMS"}),(0,jt.jsx)(fe,{to:"/integrations/microsoft-teams",className:"ghl-related-link",children:"Microsoft Teams SMS"}),(0,jt.jsx)("span",{className:"ghl-related-link",children:"GoHighLevel SMS Australia"}),(0,jt.jsx)("span",{className:"ghl-related-link",children:"CRM SMS Automation"}),(0,jt.jsx)("span",{className:"ghl-related-link",children:"HighLevel Workflow SMS"})]})]})}),(0,jt.jsx)("section",{className:"ghl-cta","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"ghl-inner",children:[(0,jt.jsx)("h2",{children:"Ready to Add SMS to Your HighLevel Workflows?"}),(0,jt.jsx)("p",{children:"Install DataFlows SMS from the GoHighLevel Marketplace and start sending in minutes."}),(0,jt.jsxs)("div",{className:"ghl-cta-buttons",children:[(0,jt.jsx)("a",{href:"https://marketplace.gohighlevel.com/integration/6a15b8b02a575d4e9868c0f3/versions/6a15b8b02a575d4e9868c0f3",target:"_blank",rel:"noreferrer noopener",className:"ghl-btn-primary",children:"Install on GoHighLevel Marketplace"}),(0,jt.jsx)(fe,{to:"/contact-us",className:"ghl-btn-outline",children:"Talk to us"})]})]})}),(0,jt.jsx)(bt,{}),t&&(0,jt.jsx)("div",{className:"scroll-to-top show",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M12 5L19 12H16V19H8V12H5L12 5Z",fill:"currentColor"})})})]})},Ah=()=>{const[t,s]=(0,e.useState)(!1),[n,i]=(0,e.useState)(null);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const r=[{title:"Create a DataFlows account",desc:"Sign up at sms.dataflows.com.au. Cho
2ose any plan \u2014 Cliniko integration is available on all paid plans."},{title:"Get your Cliniko API key",desc:(0,jt.jsxs)(jt.Fragment,{children:["In Cliniko, click your name in the bottom-left corner, then ",(0,jt.jsx)("strong",{style:{color:"rgba(255,255,255,0.85)"},children:"My Info"}),", then scroll down to ",(0,jt.jsx)("strong",{style:{color:"rgba(255,255,255,0.85)"},children:"Manage API keys"})," and click ",(0,jt.jsx)("strong",{style:{color:"rgba(255,255,255,0.85)"},children:"Add API key"}),". Copy the generated key. DataFlows reads your Cliniko region straight from the key, so there is nothing else to note down."]})},{title:"Connect in DataFlows",desc:"In DataFlows, click Cliniko in the sidebar and paste your API key. DataFlows validates the connection and detects your region instantly."},{title:"Configure your settings",desc:"Choose which automations to enable, set your message templates, and configure your sender ID or virtual number. Each message type can be toggled independently \u2014 and if you run multiple Cliniko businesses, everything can be configured per location."},{title:"Go live",desc:"That's it. DataFlows starts monitoring your Cliniko account and sending SMS automatically from that point forward."}],a=[{q:"Can this replace Cliniko's built-in SMS reminders?",a:"Yes \u2014 that's exactly what it's designed for. DataFlows covers everything Cliniko's native reminders do, plus instant booking confirmations, cancellation and reschedule notices, AI-handled replies, recalls, follow-ups, invoice SMS and campaigns. Most practices switch off Cliniko's native reminders and let DataFlows handle all patient SMS."},{q:"Does this work with all Cliniko plans?",a:"Yes \u2014 DataFlows connects via the standard Cliniko API, which is available on all plans."},{q:"Do patients need to do anything to receive SMS?",a:"No. DataFlows reads appointment and patient data directly from Cliniko. Patients receive SMS on the mobile number stored in their Cliniko record."},{q:"What happens when a patient replies?",a:"Every reply is classified automatically as confirm, cancel, reschedule or question \u2014 using AI plus keyword triggers you can customise. Confident confirmations are confirmed directly in Cliniko with no staff action; everything else is escalated to your staff by email and/or SMS. Every conversation also appears in the two-way Patient Inbox, where staff can reply manually at any time."},{q:"We have more than one clinic location \u2014 is that supported?",a:"Yes. Settings, reminders and campaigns can all be configured per business/location for practices with multiple Cliniko businesses."},{q:"Is patient data stored by DataFlows?",a:(0,jt.jsxs)(jt.Fragment,{children:["DataFlows stores only the data required to send and log SMS (patient name, phone number, appointment time). Full privacy policy: ",(0,jt.jsx)("a",{href:"https://dataflows.com.au/privacy-policy",children:"dataflows.com.au/privacy-policy"})]}),aText:"DataFlows stores only the data required to send and log SMS (patient name, phone number, appointment time). Full privacy policy at dataflows.com.au/privacy-policy."},{q:"Does the waitlist book the appointment automatically once a patient claims it?",a:"Not in this first version. When a patient claims a freed-up slot, DataFlows sends them a confirmation and alerts your staff to finalise the booking in Cliniko. That's a deliberate choice for this release, not a limitation we're hiding \u2014 it keeps a person in the loop for the actual booking step."},{q:"Is recall SMS treated as marketing under the Spam Act?",a:"Yes. Recall reminders promote a return visit rather than confirming an existing booking, so they're treated as marketing communication and every recall message includes a clear opt-out, in line with Australian SMS marketing rules."},{q:"What if I need help?",a:"Email [email protected] and our team will get back to you."}];return(0,jt.jsxs)("div",{className:"cliniko-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Cliniko SMS Integration \u2014 Setup Guide | DataFlows"}),(0,jt.jsx)("meta",{name:"description",content:"Replace Cliniko's native SMS with DataFlows \u2014 smart reminders, instant booking/cancellation/reschedule texts, AI-handled replies, a cancellation waitlist, recalls, NPS surveys and campaigns."}),(0,jt.jsx)("meta",{name:"keywords",content:"Cliniko SMS, Cliniko SMS integration, Cliniko appointment reminders SMS, Cliniko patient SMS, Cliniko SMS Australia, Cliniko automated SMS, DataFlows Cliniko, Cliniko recall SMS, Cliniko waitlist SMS, Cliniko follow-up SMS, Cliniko booking confirmation SMS, Cliniko two-way SMS"}),(0,jt.jsx)("meta",{property:"og:title",content:"Cliniko SMS Integration \u2014 Setup Guide | DataFlows"}),(0,jt.jsx)("meta",{property:"og:description",content:"A complete replacement for Cliniko's native SMS reminders \u2014 smart reminders, instant booking/cancellation/reschedule notices, AI-handled replies, a cancellation waitlist, recalls, follow-ups, invoice SMS, NPS surveys, inbox and campaigns."}),(0,jt.jsx)("meta",{property:"og:type",content:"website"}),(0,jt.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations/cliniko")}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"DataFlows SMS for Cliniko",applicationCategory:"HealthApplication",operatingSystem:"Cliniko",description:"A complete replacement for Cliniko's native SMS reminders \u2014 smart appointment reminders, instant booking confirmations, cancellation and reschedule notices, AI-handled patient replies, a cancellation waitlist, recalls, follow-ups, invoice SMS, NPS surveys, a two-way patient inbox and campaigns.",offers:{"@type":"Offer",price:"35.00",priceCurrency:"AUD"},author:{"@type":"Organization",name:"DataFlows SMS",url:"https://dataflows.com.au"}})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"Cliniko",item:"https://dataflows.com.au/integrations/cliniko"}]})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:a.map((e=>
2({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:"string"===typeof e.a?e.a:e.aText}})))})})]}),(0,jt.jsx)(_t,{}),(0,jt.jsx)("div",{className:"cliniko-breadcrumbs",children:(0,jt.jsx)("div",{className:"cliniko-inner",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"},{label:"Cliniko"}]})})}),(0,jt.jsx)("section",{className:"cliniko-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-hero-badge",children:[(0,jt.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M22 12h-4l-3 9L9 3l-3 9H2"})}),"Cliniko Integration"]}),(0,jt.jsx)("h1",{className:"cliniko-hero-title",children:"DataFlows + Cliniko"}),(0,jt.jsx)("p",{className:"cliniko-hero-subtitle",children:"A complete, set-and-forget replacement for Cliniko's built-in SMS reminders. Smart reminders, instant booking confirmations, cancellation and reschedule notices, AI-handled patient replies, a cancellation waitlist, recalls, follow-ups, invoice SMS, NPS surveys, a two-way patient inbox and campaigns \u2014 all running automatically from your Cliniko data."}),(0,jt.jsxs)("div",{className:"cliniko-hero-actions",children:[(0,jt.jsxs)("a",{href:"https://sms.dataflows.com.au/cliniko/connect",target:"_blank",rel:"noreferrer noopener",className:"cliniko-btn-primary",children:["Get started",(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"currentColor",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z",clipRule:"evenodd"})})]}),(0,jt.jsx)("a",{href:"https://www.cliniko.com/connected-apps/dataflows-sms/",target:"_blank",rel:"noreferrer noopener",className:"cliniko-btn-outline",children:"Install on Cliniko"})]}),(0,jt.jsxs)("div",{className:"cliniko-hero-trust",children:[(0,jt.jsx)("span",{children:"\u2713 ACMA Registered Originating Telco"}),(0,jt.jsx)("span",{children:"\u2713 Spam Act 2003 Compliant"}),(0,jt.jsx)("span",{children:"\u2713 Works with all Cliniko plans"}),(0,jt.jsx)("span",{children:"\u2713 Multi-location support"}),(0,jt.jsx)("span",{children:"\u2713 No coding required"})]})]})}),(0,jt.jsx)("section",{className:"cliniko-section",id:"features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"Set it and forget it"}),(0,jt.jsx)("h2",{children:"Always in Sync with Cliniko"}),(0,jt.jsx)("p",{children:"Connect once, and DataFlows stays in lockstep with your Cliniko account from that moment on. There is nothing for your staff to run, trigger or remember."})]}),(0,jt.jsx)("div",{className:"cliniko-requirements",children:["DataFlows polls Cliniko continuously \u2014 new bookings, cancellations and reschedules are picked up automatically, around the clock","Nothing to set up on Cliniko's side: no webhooks, no plugins, no manual syncing \u2014 ever","Multi-business and multi-branch ready: a single DataFlows account connects one Cliniko account across multiple locations, each with its own independent settings, sender number, reminder timing and message templates \u2014 roll it out branch by branch as each one is ready"].map(((e,t)=>(0,jt.jsxs)("div",{className:"cliniko-requirement",children:[(0,jt.jsx)("span",{className:"cliniko-requirement-icon",children:"\u2713"}),(0,jt.jsx)("span",{children:e})]},t)))})]})}),(0,jt.jsx)("section",{className:"cliniko-section cliniko-section--dark","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"Smart appointment reminders"}),(0,jt.jsx)("h2",{children:"Reminders That Fit How Your Clinic Actually Runs"}),(0,jt.jsx)("p",{children:"Not just one reminder at one fixed time. Mix timing modes, stack multiple reminders, and tailor wording by appointment type \u2014 all without juggling separate systems."})]}),(0,jt.jsx)("div",{className:"cliniko-capability-grid",children:[{name:"Rolling reminders",what:'Sends a set number of hours before each appointment (e.g. "24 hours before"), recalculated individually for every booking.'},{name:"Fixed daily reminders",what:"Sends once a day at a set clock t
2ime (e.g. 9am), covering everything due the next day. Self-healing if a scheduled run is ever missed."},{name:"Multiple reminder slots",what:"Not limited to one reminder \u2014 add a second, third, or more, each with its own independent timing and wording. A common setup pairs a 48-hour reminder with a same-day one."},{name:"Per-appointment-type messages",what:"Set a different reminder message for specific appointment types \u2014 Telehealth versus in-person, for example \u2014 without maintaining separate reminder systems."},{name:"Appointment-type filtering",what:"Restrict reminders to only the appointment types you choose, rather than every type the clinic offers."},{name:"Duplicate-timing protection",what:"Built-in detection stops you from accidentally configuring two reminders that would fire on top of each other."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"cliniko-capability","data-aos":"fade-up","data-aos-delay":60*t,children:[(0,jt.jsx)("h3",{children:e.name}),(0,jt.jsx)("p",{children:e.what})]},t)))})]})}),(0,jt.jsx)("section",{className:"cliniko-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"Automatic notifications"}),(0,jt.jsx)("h2",{children:"Every Patient SMS, On Autopilot"}),(0,jt.jsxs)("p",{children:["Each message type below is independently toggleable and has its own editable template. And unlike Cliniko's built-in reminders, DataFlows also texts patients the ",(0,jt.jsx)("em",{children:"instant"})," a booking is created, cancelled or moved \u2014 not just before the appointment."]})]}),(0,jt.jsxs)("table",{className:"cliniko-feature-table",children:[(0,jt.jsx)("thead",{children:(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("th",{children:"Message type"}),(0,jt.jsx)("th",{children:"What happens"})]})}),(0,jt.jsx)("tbody",{children:[{name:"Booking Confirmation",what:"An instant SMS the moment a new appointment is created in Cliniko \u2014 patients get the details in writing straight away, independent of the reminder that comes later."},{name:"Cancellation Notice",what:"An instant SMS the moment an appointment is cancelled in Cliniko, rather than relying on Cliniko's own native notification, which many clinics don't have configured. Only sent to patients who were already notified about the appointment, so nobody hears about a booking they never knew existed."},{name:"Reschedule Notice",what:"An instant SMS the moment Cliniko's own reschedule tool moves an appointment, separate from and faster than the next scheduled reminder."},{name:"Post-Appointment Follow-Up",what:"A follow-up SMS sent a configurable delay after each appointment ends (e.g. \"How did your visit go?\"), with a no-show exclusion option so patients who didn't attend aren't asked how it went."},{name:"Recall Reminders",what:"Polls Cliniko's own recall records \u2014 patients flagged as due for a follow-up visit, such as a 6-month checkup \u2014 and sends a reminder a configurable number of days ahead. Because this counts as marketing communication under the Spam Act, a clear opt-out notice is required and included."},{name:"Invoice SMS",what:"Automatically texts a patient when a new unpaid invoice is created in Cliniko, including a live payment link when the clinic's Cliniko plan supports online payments."}].map(((e,t)=>(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("td",{children:e.name}),(0,jt.jsx)("td",{children:e.what})]},t)))})]})]})}),(0,jt.jsx)("section",{className:"cliniko-section cliniko-section--dark","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"Two-way, handled by AI"}),(0,jt.jsx)("h2",{children:"Patient Replies That Handle Themselves"}),(0,jt.jsx)("p",{children:"When patients text back, DataFlows understands the reply and acts on it \u2014 confirmations flow straight into Cliniko, and only the messages that genuinely need a human reach your staff."})]}),(0,jt.jsxs)("table",{className:"cliniko-feature-table",children:[(0,jt.jsx)("thead",{children:(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("th",{children:"Capability"}),(0,jt.jsx)("th",{children:"What happens"})]})}),(0,jt.jsx)("tbody",{children:[{name:"Automatic reply classification",what:'Recognises confirm, cancel and reschedule intent using fast keyword matching, backed by AI classification for free-text replies like "can\'t make it Tuesday" \u2014 customisable for your clinic.'},{name:"Auto-confirm in Cliniko",what:'Confident "confirm" replies are confirmed directly in Cliniko. No staff action needed for a clean yes.'},{name:"Smart escalation",what:"Cancellations, reschedule requests, low-confidence replies and genuine questions are escalated to your staff automatically by email and/or SMS \u2014 always with the patient's name attached."},{name:"Graceful edge-case handling",what:'A reply to the booking-confirmation text (which isn\'t meant to invite one) gets a "we\'ll text you closer to the date" response instead of a false staff alert. A duplicate reply to something already resolved gets an "already taken care of" acknowledgment instead of a second alert.'},{name:"Full reply audit trail",what:"Every incoming reply is logged with its detected intent, confidence score and the action taken \u2014 a complete internal record, separate from the optional Cliniko note-logging described below."}].map(((e,t)=>(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("td",{children:e.name}),(0,jt.jsx)("td",{children:e.what})]},t)))})]})]})}),(0,jt.jsx)("section",{className:"cliniko-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"Fill cancellations automatically"}),(0,jt.jsx)("h2",{children:"Cliniko Waitlist SMS"}),(0,jt.jsx)("p",{children:"When a slot frees up, DataFlows can offer it straight to waiting patients instead of leaving reception to work the phones."})]}),(0,jt.jsx)("div",{className:"cliniko-requirements",children:["Staff add patients to a waitlist by appointment type, optional practitioner, and an optional cutoff date","When a cancellation is detected, a capped batch of matching patients \u2014 fairest first \u2014 is texted the freed slot","First to reply CLAIM wins it. The claiming logic is race-safe, so two patients replying within the same second can't both be given the slot","Everyone else in that batch is told it's taken; unclaimed offers expire on a configurable window and staff are notified to fill it another way"].map(((e,t)=>(0,jt.jsxs)("div",{className:"cliniko-requirement",children:[(0,jt.jsx)("span",{className:"cliniko-requirement-icon",children:"\u2713"}),(0,jt.jsx)("span",{children:e})]},t)))}),(0,jt.jsxs)("div",{className:"cliniko-callout",children:[(0,jt.jsx)("strong",{children:"Booking is still finalised by staff."})," In this first version, DataFlows doesn't create the Cliniko appointment automatically \u2014 a winning patient gets a confirmation text, and staff get an alert to complete the booking in Cliniko. That's a deliberate choice for this release, not a limitation we're hiding."]}),(0,jt.jsxs)("p",{className:"cliniko-section-link",children:["Read the full walkthrough: ",(0,jt.jsx)(fe,{to:"/blog/cliniko-waitlist-fill-sms",className:"cliniko-inline-link",children:"Fill Last-Minute Cancellations with Cliniko SMS Waitlists"})]})]})}),(0,jt.jsx)("section",{className:"cliniko-section cliniko-section--dark","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"Feedback, data & campaigns"}),(0,jt.jsx)("h2",{children:"Talk to Patients, and Win Them Back"}),(0,jt.jsx)("p",{children:"Beyond automated notifications, DataFlows gives your front desk a full conversation view, a way to gauge patient satisfaction, and marketing tools built around your real appointment data."})]}),(0,jt.jsxs)("table",{className:"cliniko-feature-table",children:[(0,jt.jsx)("thead",{children:(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("th",{children:"Feature"}),(0,jt.jsx)("th",{children:"What happens"})]})}),(0,jt.jsx)("tbody",{children:[{name:"Two-way Patient Inbox",what:"Every SMS conversation with every patient in one threaded inbox, with the patient's name resolved automatically. Staff can jump in and reply manually alongside the automated AI handling above, whenever a conversation needs a human."},{name:"Patient Browser & Bulk Import",what:"Search Cliniko's patient list live from inside DataFlows, or import every consented patient in bulk as a background job \u2014 built to handle clinics with 10,000+ patients without timing out. Save results into a contact group or carry them straight into a campaign."},{name:"Satisfaction Survey (NPS)",what:"An automatic post-appointment survey link, with a dashboard showing responses over time. High scorers can optionally be prompted to leave a public review, and survey activity can be logged back into Cliniko as a note."},{name:"Manual Campaign Builder",what:"Filter patients by appointment date range and outcome \u2014 attended, no-shows or all \u2014 with a fast, non-
2per-patient preview and background sending so the page doesn't hang on large lists. Ideal for reactivation and promotions."},{name:"Recurring Campaign Schedules",what:'Auto-prepare a campaign on a daily or weekly schedule with a configurable lead time (e.g. "every Monday, targeting patients with appointments in the next 14 days"). Drafts sit in a review queue for a human to check and approve \u2014 recurring automation never sends unsupervised.'}].map(((e,t)=>(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("td",{children:e.name}),(0,jt.jsx)("td",{children:e.what})]},t)))})]})]})}),(0,jt.jsx)("section",{className:"cliniko-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"Reliability, branding & compliance"}),(0,jt.jsx)("h2",{children:"Built for Trust and Record-Keeping"}),(0,jt.jsx)("p",{children:"Everything is logged, exportable and customisable, patient consent is respected by default, and every message sends from a number your patients recognise."})]}),(0,jt.jsxs)("table",{className:"cliniko-feature-table",children:[(0,jt.jsx)("thead",{children:(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("th",{children:"Feature"}),(0,jt.jsx)("th",{children:"What happens"})]})}),(0,jt.jsx)("tbody",{children:[{name:"Consent-aware messaging",what:"Checks each patient's actual Cliniko-recorded reminder/follow-up SMS consent setting \u2014 not the separate marketing opt-in field \u2014 before sending anything."},{name:"Full activity & audit trail",what:"Every automated SMS sent and every patient reply received, logged in one place. Optionally log confirmations and consent back onto the Cliniko appointment as a timestamped note, and export a full two-sided (sent + replied) CSV for compliance record-keeping."},{name:"Branded Sending Number",what:"Send from a registered alpha Sender ID, so patients see your clinic's name (one-way only), or a dedicated virtual number, which is two-way and required for any feature that needs a patient reply \u2014 reminders, waitlist claims, inbox conversations."},{name:"Link shortening & click tracking",what:"Optionally shorten links in reminder messages \u2014 a Telehealth video-call link, for example \u2014 and see when patients click them. A per-clinic toggle, so it never changes the account-wide default for clinics that don't want it."},{name:"Fully customisable templates",what:"Every message type ships with a sensible default template, and every single one can be reworded in your clinic's voice \u2014 with merge tags like {patient_name}, {date}, {time}, {practitioner} and {business}."}].map(((e,t)=>(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("td",{children:e.name}),(0,jt.jsx)("td",{children:e.what})]},t)))})]})]})}),(0,jt.jsx)("section",{className:"cliniko-section cliniko-section--dark",id:"setup","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"Setup"}),(0,jt.jsx)("h2",{children:"How to Connect"}),(0,jt.jsx)("p",{children:"Five steps from sign-up to live SMS \u2014 no developers needed."})]}),(0,jt.jsx)("div",{className:"cliniko-steps",children:r.map(((e,t)=>(0,jt.jsxs)("div",{className:"cliniko-step","data-aos":"fade-up","data-aos-delay":60*t,children:[(0,jt.jsx)("div",{className:"cliniko-step-num",children:t+1}),(0,jt.jsxs)("div",{className:"cliniko-step-content",children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]})]},t)))})]})}),(0,jt.jsx)("section",{className:"cliniko-section",id:"requirements","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"Requirements"}),(0,jt.jsx)("h2",{children:"What You Need"})]}),(0,jt.jsx)("div",{className:"cliniko-requirements",children:["An active DataFlows account (paid plan)","A Cliniko account (any plan)","A Cliniko API key (generated in Cliniko under My Info \u2192 Manage API keys)","A virtual number or approved Sender ID in DataFlows (for two-way AI replies, a virtual number is required)"].map(((e,t)=>(0,jt.jsxs)("div",{className:"cliniko-requirement",children:[(0,jt.jsx)("span",{className:"cliniko-requirement-icon",children:"\u2713"}),(0,jt.jsx)("span",{children:e})]},t)))})]})}),(0,jt.jsx)("section",{className:"cliniko-section cliniko-section--dark",id:"faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsxs)("div",{className:"cliniko-section-header",children:[(0,jt.jsx)("span",{className:"cliniko-label",children:"FAQ"}),(0,jt.jsx)("h2",{children:"Common Questions"})]}),(0,jt.jsx)("div",{className:"cliniko-faq",children:a.map(((e,t)=>(0,jt.jsxs)("div",{className:"cliniko-faq-item"+(n===t?" open":""),children:[(0,jt.jsxs)("button",{className:"cliniko-faq-q",onClick:()=>i(n===t?null:t),children:[e.q,(0,jt.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M6 9l6 6 6-6"})})]}),(0,jt.jsx)("p",{className:"cliniko-faq-a"+(n===t?"":" cliniko-faq-a--hidden"),children:e.a})]},t)))})]})}),(0,jt.jsx)("section",{className:"cliniko-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsx)("h2",{className:"cliniko-related-title",children:"Related Integrations"}),(0,jt.jsxs)("div",{className:"cliniko-related-links",children:[(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"cliniko-related-link",children:"Zapier SMS"}),(0,jt.jsx)(fe,{to:"/integrations/power-automate",className:"cliniko-related-link",children:"Power Automate SMS"}),(0,jt.jsx)(fe,{to:"/integrations/shopify",className:"cliniko-related-link",children:"Shopify SMS"}),(0,jt.jsx)(fe,{to:"/integrations/gohighlevel",className:"cliniko-related-link",children:"GoHighLevel SMS"}),(0,jt.jsx)(fe,{to:"/integrations/email-to-sms",className:"cliniko-related-link",children:"Email to SMS"}),(0,jt.jsx)("span",{className:"cliniko-related-link",children:"Cliniko SMS Australia"}),(0,jt.jsx)("span",{className:"cliniko-related-link",children:"Healthcare SMS Automation"}),(0,jt.jsx)("span",{className:"cliniko-related-link",children:"Patient Appointment Reminders SMS"})]})]})}),(0,jt.jsx)("section",{className:"cliniko-cta","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"cliniko-inner",children:[(0,jt.jsx)("h2",{children:"Ready to Connect?"}),(0,jt.jsx)("p",{children:"Connect DataFlows to Cliniko and start automating patient SMS in minutes."}),(0,jt.jsxs)("div",{className:"cliniko-cta-buttons",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/cliniko/connect",target:"_blank",rel:"noreferrer noopener",className:"cliniko-btn-primary",children:"Get started"}),(0,jt.jsx)("a",{href:"https://www.cliniko.com/connected-apps/dataflows-sms/",target:"_blank",rel:"noreferrer noopener",className:"cliniko-btn-outline",children:"Install on Cliniko"})]})]})}),(0,jt.jsx)(bt,{}),t&&(0,jt.jsx)("div",{className:"cliniko-scroll-top show",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M12 5L19 12H16V19H8V12H5L12 5Z",fill:"currentColor"})})})]})},_h=()=>{const[t,s]=(0,e.useState)(!1),[n,i]=(0,e.useState)(null);(0,e.useEffect)((()=>{"undefined"!==typeof AOS&&AOS.init({duration:800,easing:"ease-out",once:!1,offset:100,mirror:!0});const e=()=>{s(window.scrollY>300),"undefined"!==typeof AOS&&AOS.refresh()};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]);const r=Mt("/integrations/monday"),a=[{id:"send-sms",label:"Automation block",title:"Send One SMS from Any Item",intro:"The fastest way to send a single SMS: build it into any monday automation recipe.",steps:[{title:"Create an automation",desc:'Open a board\'s Automations, click Create automation, and search "DataFlows".'},{title:"Pick Send SMS via DataFlows",desc:"Choose Send SMS via DataFlows from the DataFlows SMS app, then attach it to any trigger: a status change, a new item, whatever fits your workflow."},{title:"Fill in the sentence",desc:"Choose which column holds the recipient's phone number, write your message (you can reference other columns), pick your Sender ID, and optionally a Status column to record delivery status right on the item."}],note:"Replies to messages sent this way are what power the AI reply features and the Shared SMS Inbox further down this page. They're correlated automatically, so there is nothing extra to configure."},{id:"reminders",label:"Reminder rules",title:"Automated Reminders",intro:"Text the right person automatically ahead of a date on the board, whether that's an appointment, a deadline or a delivery, with no one clicking send.",shot:{src:"/images/monday/img/reminders.png",alt:"Reminder rules page showing a 24-Hour Appointment Reminder rule",caption:"A reminder rule watching an Appointment Date column, firing 24 hours before."},steps:[{title:"Open Monday.com Reminder Rules",desc:"From your DataFlows account, open Monday.com Reminder Rules and pick a connected board."}
2,{title:"Choose the date and offset",desc:"Choose the date column to watch and an offset: relative (for example 24 hours before) or a fixed time of day."},{title:"Add filters and business hours",desc:"Optionally add a status filter so it only fires for items in the right stage, and set business-hours or weekday exclusion so nothing sends at 2am."},{title:"Write your message template",desc:"Use {Column Title} tokens. They resolve against the item's real column values at send time."},{title:"Pick a sender and save",desc:"Pick a sender from your connected numbers or Sender IDs, and save. The rule runs on its own from here."}]},{id:"conditional",label:"Conditional rules",title:"Conditional SMS Rules",intro:'Fire a text the moment a column changes (a Status moves to "Ready for pickup", a Dropdown flips to "Overdue") instead of watching a date.',steps:[{title:"Open Monday.com Conditional SMS Rules",desc:"Open Monday.com Conditional SMS Rules and pick a board."},{title:"Build your conditions",desc:"Build one or more conditions against Status, Dropdown, Numbers or Checkbox columns, combined with ALL or ANY matching."},{title:"Write the message and pick a sender",desc:"Write the message template and pick a sender. It uses the same token syntax as reminders."}],note:"New rules never blast every item that already matches on day one. The first pass silently establishes a baseline, and only items that start matching after the rule exists will actually text someone."},{id:"campaigns",label:"Bulk campaigns",title:"Bulk SMS Campaigns",intro:"Send to a filtered segment of a board at once, such as every overdue invoice or every lead at a certain stage, with delivery and failure tracking from the moment it sends.",shot:{src:"/images/monday/img/campaigns.png",alt:"Bulk SMS campaigns page showing a Spring Service Reminder Blast with 248 recipients",caption:"A campaign's recipient count, sent count and failed count, visible right on the list."},steps:[{title:"Choose a board and filter",desc:"Open Bulk Campaigns, choose a board, and set your filter conditions. It's the same condition builder as conditional rules."},{title:"Preview before you send",desc:"Preview the matching recipient count and your message template before anything sends."},{title:"Send",desc:"Delivery runs in bounded waves, and quiet hours and your account's rate limit are respected automatically."},{title:"Track the results",desc:"Check the campaign's status page for sent, failed and (if enabled) click counts."}]},{id:"ai-replies",label:"Reply-to-action rules",title:"AI Replies & Automation",intro:"Every reply to a DataFlows SMS is automatically classified by intent (confirm, cancel, reschedule, question or complaint) with a confidence score. You decide what happens next.",shot:{src:"/images/monday/img/reply-actions.png",alt:"Reply-to-Action Rules page showing a rule that updates Status when a reply is confirmed at 75% confidence or higher",caption:'A rule that updates a Status column automatically when a reply is classified "Confirm" at 75%+ confidence.'},steps:[{title:"Open Monday.com Reply-to-Action Rules",desc:"Open Monday.com Reply-to-Action Rules and pick a board."},{title:"Choose a trigger",desc:"Match a specific intent at or above a confidence threshold, or catch anything the AI classifies with low confidence, which is a useful safety net for replies worth a human's attention."},{title:"Choose the action",desc:"Update a status column, create a task, notify a teammate, or assign someone to the item."}],note:"No rule set up yet? The classification still happens. You can expose it as its own board column any time from the same settings area, so intent and confidence are visible even without an automated action attached."},{id:"inbox",label:"Shared SMS inbox",title:"One Inbox for Every Board",intro:"See every SMS conversation across every board in one place, something monday's own per-item Updates can't show you. Each thread carries its AI-classified priority.",shot:{src:"/images/monday/img/inbox.png",alt:"Shared SMS Inbox showing an example conversation classified as Reschedule",caption:'An example reply, classified "Reschedule" and linked back to the item it came from.'},steps:[{title:"Open the Shared SMS Inbox",desc:"Open Shared SMS Inbox from the header links on any of the Monday.com pages."},{title:"Pick a conversation",desc:"See the full thread, its priority badge, and a live link back to the monday.com item it's tied to."},{title:"Reply from the inbox",desc:"Your reply sends as a real SMS from the same number the conversation started on."}],note:"The inbox is scoped to replies against the single-item Send SMS via DataFlows action for now. Reminders, conditional rules and campaigns aren't correlated into this view yet."},{id:"links",label:"Trackable links",title:"Trackable Links",intro:"Know when a link you texted actually gets clicked (a quote, an invoice, a booking page) without leaving monday.",steps:[{title:"Turn on Track link clicks",desc:"On a reminder rule, conditional rule or campaign, turn on Track link clicks."},{title:"Pick a Text column",desc:"Choose a Text column to hold the click status. DataFlows writes it automatically."},{title:"Watch the clicks come in",desc:"Any link in your message is shortened and tracked. The column updates the moment someone taps it, showing a running click count."}]}],o=[{q:"How does DataFlows connect to monday.com?",a:"Over OAuth. You install the DataFlows SMS app, approve the permissions it needs (reading board data, writing back to columns you configure, posting Updates and creating webhooks), and select the boards to connect. The installation stays linked to those boards with 
2no re-authenticating per feature."},{q:"Do I have to use every feature on every board?",a:"No. Reminders, conditional rules, campaigns and reply automation are all scoped per board, so you choose which boards use which features."},{q:"Will a new conditional rule text everything that already matches?",a:"No. The first pass silently establishes a baseline, so only items that start matching after the rule exists will actually text someone."},{q:"What happens when a customer replies STOP?",a:"STOP, UNSUBSCRIBE and similar replies are handled automatically across the whole platform. An opted-out number is blocked from every future send, with no setup required."},{q:"Which replies show up in the Shared SMS Inbox?",a:"For now, replies to messages sent with the single-item Send SMS via DataFlows action. Reminders, conditional rules and campaigns aren't correlated into the inbox view yet, although the AI classification of replies still works."},{q:"Can I stop messages sending at night?",a:"Yes. Set a sending window in Quiet Hours & Rate Limiting and anything that would send outside it waits until the window reopens. Individual reminder rules can also apply business-hours or weekday exclusions."},{q:"What if I need help?",a:"Email [email protected] and our team will get back to you."}];return(0,jt.jsxs)("div",{className:"monday-container",children:[(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"monday.com SMS Integration \u2014 Setup Guide | DataFlows"}),(0,jt.jsx)("meta",{name:"description",content:"Send SMS from monday.com boards with DataFlows: reminders, conditional rules, bulk campaigns, AI-classified replies, a shared inbox and trackable links."}),(0,jt.jsx)("meta",{name:"keywords",content:"monday.com SMS, monday.com SMS integration, monday.com text message automation, monday.com SMS reminders, monday.com bulk SMS, DataFlows monday.com, monday.com two-way SMS, monday.com SMS Australia"}),(0,jt.jsx)("meta",{property:"og:title",content:"monday.com SMS Integration \u2014 Setup Guide | DataFlows"}),(0,jt.jsx)("meta",{property:"og:description",content:"Connect monday.com to DataFlows: send SMS from any item, automate reminders and conditional rules, run bulk campaigns, and handle replies with AI classification and a shared inbox."}),(0,jt.jsx)("meta",{property:"og:type",content:"website"}),(0,jt.jsx)("meta",{property:"og:url",content:r}),(0,jt.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,jt.jsx)("link",{rel:"canonical",href:r}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"SoftwareApplication",name:"DataFlows SMS for monday.com",applicationCategory:"BusinessApplication",operatingSystem:"monday.com",description:"Send SMS from monday.com boards: automation blocks, date-based reminders, conditional rules, bulk campaigns, AI-classified replies, a shared SMS inbox and trackable links.",author:{"@type":"Organization",name:"DataFlows SMS",url:"https://dataflows.com.au"}})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"},{"@type":"ListItem",position:3,name:"monday.com",item:r}]})}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"FAQPage",mainEntity:o.map((e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}})))})})]}),(0,jt.jsx)(_t,{}),(0,jt.jsx)("div",{className:"monday-breadcrumbs",children:(0,jt.jsx)("div",{className:"monday-inner",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations",path:"/integrations"},{label:"monday.com"}]})})}),(0,jt.jsx)("section",{className:"monday-hero","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"monday-inner",children:[(0,jt.jsxs)("div",{className:"monday-hero-badge",children:[(0,jt.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,jt.jsx)("rect",{x:"3",y:"3",width:"7",height:"18",rx:"1.5"}),(0,jt.jsx)("rect",{x:"14",y:"3",width:"7",height:"11",rx:"1.5"})]}),"monday.com Integration"]}),(0,jt.jsx)("h1",{className:"monday-hero-title",children:"DataFlows + monday.com"}),(0,jt.jsx)("p",{className:"monday-hero-subtitle",children:"Send SMS straight from your monday.com boards. Build it into any automation, set up date-based reminders and conditional rules, run bulk campaigns, and handle customer replies with AI classification and a shared inbox, all driven by the data already on your boards."}),(0,jt.jsxs)("div",{className:"monday-hero-actions",children:[(0,jt.jsxs)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"monday-btn-primary",children:["Get started",(0,jt.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"currentColor",children:(0,jt.jsx)("path",{fillRule:"evenodd",d:"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z",clipRule:"evenodd"})})]}),(0,jt.jsx)("a",{href:"#setup",className:"monday-btn-outline",children:"How to connect"})]}),(0,jt.jsxs)("div",{className:"monday-hero-trust",children:[(0,jt.jsx)("span",{children:"\u2713 C
2onnects over OAuth"}),(0,jt.jsx)("span",{children:"\u2713 Configured per board"}),(0,jt.jsx)("span",{children:"\u2713 Opt-outs handled automatically"}),(0,jt.jsx)("span",{children:"\u2713 Quiet hours & rate limits"})]})]})}),(0,jt.jsx)("section",{className:"monday-section",id:"features","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"monday-inner",children:[(0,jt.jsxs)("div",{className:"monday-section-header",children:[(0,jt.jsx)("span",{className:"monday-label",children:"Everything in one place"}),(0,jt.jsx)("h2",{children:"Everything Your Boards Need to Text"}),(0,jt.jsx)("p",{children:"From a single SMS to a full campaign, and from a customer reply to an updated board item, DataFlows covers the whole conversation without leaving monday.com."})]}),(0,jt.jsx)("div",{className:"monday-capability-grid",children:[{name:"Send SMS from any item",what:"Build a Send SMS via DataFlows step into any monday automation recipe, triggered by a status change, a new item, or whatever fits your workflow."},{name:"Automated reminders",what:"Text the right person ahead of a date on the board, such as an appointment, a deadline or a delivery, with no one clicking send."},{name:"Conditional SMS rules",what:'Fire a text the moment a column changes, like a Status moving to "Ready for pickup", instead of watching a date.'},{name:"Bulk SMS campaigns",what:"Send to a filtered segment of a board at once, with delivery and failure tracking from the moment it sends."},{name:"AI reply handling",what:"Every reply is classified by intent (confirm, cancel, reschedule, question or complaint) with a confidence score. You decide what happens next."},{name:"Shared SMS inbox",what:"See every SMS conversation across every board in one place, each thread carrying its AI-classified priority."},{name:"Trackable links",what:"Know when a link you texted actually gets clicked, without leaving monday."},{name:"Quiet hours & compliance",what:"Account-wide quiet hours, rate limits and automatic opt-out handling, set once and applied everywhere."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"monday-capability","data-aos":"fade-up","data-aos-delay":t%4*60,children:[(0,jt.jsx)("h3",{children:e.name}),(0,jt.jsx)("p",{children:e.what})]},t)))})]})}),(0,jt.jsx)("section",{className:"monday-section monday-section--dark",id:"setup","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"monday-inner",children:[(0,jt.jsxs)("div",{className:"monday-section-header",children:[(0,jt.jsx)("span",{className:"monday-label",children:"Install"}),(0,jt.jsx)("h2",{children:"Connect Your Boards"}),(0,jt.jsx)("p",{children:"Three steps from install to a connected board. Everything after this is configured inside your DataFlows account."})]}),(0,jt.jsx)("div",{className:"monday-steps",children:[{title:"Install the app",desc:"Install DataFlows SMS from the monday marketplace listing, or via the installation link your admin shares with you. You'll be asked to approve the permissions DataFlows needs: reading board data, writing back to columns you configure, posting Updates, and creating webhooks."},{title:"Select your boards",desc:"Choose the boards you want DataFlows to work with. You can connect more boards later from the same flow, and each installation can cover multiple boards."},{title:"You're connected",desc:"DataFlows connects to monday.com over OAuth, so an installation stays linked to every board you selected with no re-authenticating per feature. Every feature is scoped per board, so you pick which boards use which features."}].map(((e,t)=>(0,jt.jsxs)("div",{className:"monday-step","data-aos":"fade-up","data-aos-delay":60*t,children:[(0,jt.jsx)("div",{className:"monday-step-num",children:t+1}),(0,jt.jsxs)("div",{className:"monday-step-content",children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]})]},t)))})]})}),a.map(((e,t)=>(0,jt.jsx)("section",{id:e.id,className:"monday-section"+(t%2===0?"":" monday-section--dark"),"data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"monday-inner",children:[(0,jt.jsxs)("div",{className:"monday-section-header",children:[(0,jt.jsx)("span",{className:"monday-label",children:e.label}),(0,jt.jsx)("h2",{children:e.title}),(0,jt.jsx)("p",{children:e.intro})]}),e.shot&&(0,jt.jsxs)("figure",{className:"monday-shot",children:[(0,jt.jsx)("img",{src:e.shot.src,alt:e.shot.alt,loading:"lazy"}),(0,jt.jsx)("figcaption",{children:e.shot.caption})]}),(0,jt.jsx)("div",{className:"monday-steps",style:e.shot?{marginTop:"32px"}:void 0,children:e.steps.map(((e,t)=>(0,jt.jsxs)("div",{className:"monday-step",children:[(0,jt.jsx)("div",{className:"monday-step-num",children:t+1}),(0,jt.jsxs)("div",{className:"monday-step-content",children:[(0,jt.jsx)("h3",{children:e.title}),(0,jt.jsx)("p",{children:e.desc})]})]},t)))}),e.note&&(0,jt.jsx)("div",{className:"monday-callout",children:e.note})]})},e.id))),(0,jt.jsx)("section",{className:"monday-section"+(a.length%2===0?"":" monday-section--dark"),id:"account","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"monday-inner",children:[(0,jt.jsxs)("div",{className:"monday-section-header",children:[(0,jt.jsx)("span",{className:"monday-label",children:"Account settings"}
2),(0,jt.jsx)("h2",{children:"Quiet Hours & Compliance"}),(0,jt.jsx)("p",{children:"Account-wide guardrails that apply across every reminder, conditional rule and campaign. Set them once."})]}),(l=[{name:"Quiet hours",what:"Set a sending window in Quiet Hours & Rate Limiting. Anything that would send outside it waits until the window reopens instead of sending late or early."},{name:"Rate limiting",what:"Cap messages per hour or per day across the whole account. This is useful when a large campaign and your regular reminders run the same day."},{name:"Opt-outs",what:"STOP, UNSUBSCRIBE and similar replies are handled automatically, platform-wide. An opted-out number is blocked from every future send, with no setup required."},{name:"Reporting",what:"Response & Opt-Out Reports shows account-wide reply-time stats and opt-out activity, broken down by board."}],c="Setting",(0,jt.jsxs)("table",{className:"monday-feature-table",children:[(0,jt.jsx)("thead",{children:(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("th",{children:c}),(0,jt.jsx)("th",{children:"What happens"})]})}),(0,jt.jsx)("tbody",{children:l.map(((e,t)=>(0,jt.jsxs)("tr",{children:[(0,jt.jsx)("td",{children:e.name}),(0,jt.jsx)("td",{children:e.what})]},t)))})]}))]})}),(0,jt.jsx)("section",{className:"monday-section"+((a.length+1)%2===0?"":" monday-section--dark"),id:"requirements","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"monday-inner",children:[(0,jt.jsxs)("div",{className:"monday-section-header",children:[(0,jt.jsx)("span",{className:"monday-label",children:"Requirements"}),(0,jt.jsx)("h2",{children:"What You Need"})]}),(0,jt.jsx)("div",{className:"monday-requirements",children:["An active DataFlows account","A monday.com account with the boards you want to connect","A column on each board that holds the recipient's phone number","A connected number or Sender ID in DataFlows to send from"].map(((e,t)=>(0,jt.jsxs)("div",{className:"monday-requirement",children:[(0,jt.jsx)("span",{className:"monday-requirement-icon",children:"\u2713"}),(0,jt.jsx)("span",{children:e})]},t)))})]})}),(0,jt.jsx)("section",{className:"monday-section"+((a.length+2)%2===0?"":" monday-section--dark"),id:"faq","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"monday-inner",children:[(0,jt.jsxs)("div",{className:"monday-section-header",children:[(0,jt.jsx)("span",{className:"monday-label",children:"FAQ"}),(0,jt.jsx)("h2",{children:"Common Questions"})]}),(0,jt.jsx)("div",{className:"monday-faq",children:o.map(((e,t)=>(0,jt.jsxs)("div",{className:"monday-faq-item"+(n===t?" open":""),children:[(0,jt.jsxs)("button",{className:"monday-faq-q",onClick:()=>i(n===t?null:t),children:[e.q,(0,jt.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,jt.jsx)("path",{d:"M6 9l6 6 6-6"})})]}),(0,jt.jsx)("p",{className:"monday-faq-a"+(n===t?"":" monday-faq-a--hidden"),children:e.a})]},t)))})]})}),(0,jt.jsx)("section",{className:"monday-section","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"monday-inner",children:[(0,jt.jsx)("h2",{className:"monday-related-title",children:"Related Integrations"}),(0,jt.jsxs)("div",{className:"monday-related-links",children:[(0,jt.jsx)(fe,{to:"/integrations/zapier",className:"monday-related-link",children:"Zapier SMS"}),(0,jt.jsx)(fe,{to:"/integrations/power-automate",className:"monday-related-link",children:"Power Automate SMS"}),(0,jt.jsx)(fe,{to:"/integrations/gohighlevel",className:"monday-related-link",children:"GoHighLevel SMS"}),(0,jt.jsx)(fe,{to:"/integrations/microsoft-teams",className:"monday-related-link",children:"Microsoft Teams SMS"}),(0,jt.jsx)(fe,{to:"/integrations/email-to-sms",className:"monday-related-link",children:"Email to SMS"}),(0,jt.jsx)("span",{className:"monday-related-link",children:"monday.com SMS Automation"}),(0,jt.jsx)("span",{className:"monday-related-link",children:"monday.com SMS Reminders"}),(0,jt.jsx)("span",{className:"monday-related-link",children:"Two-Way SMS for monday.com"})]})]})}),(0,jt.jsx)("section",{className:"monday-cta","data-aos":"fade-up",children:(0,jt.jsxs)("div",{className:"monday-inner",children:[(0,jt.jsx)("h2",{children:"Ready to Connect?"}),(0,jt.jsx)("p",{children:"Connect DataFlows to monday.com and start texting from your boards."}),(0,jt.jsxs)("div",{className:"monday-cta-buttons",children:[(0,jt.jsx)("a",{href:"https://sms.dataflows.com.au/register",target:"_blank",rel:"noreferrer noopener",className:"monday-btn-primary",children:"Get started"}),(0,jt.jsx)("a",{href:"mailto:[email protected]",className:"monday-btn-outline",children:"Talk to support"})]})]})}),(0,jt.jsx)(bt,{}),t&&(0,jt.jsx)("div",{className:"monday-scroll-top show",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),children:(0,jt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",children:(0,jt.jsx)("path",{d:"M12 5L19 12H16V19H8V12H5L12 5Z",fill:"currentColor"})})})]});var l,c},Mh=e=>{let{letter:t,bg:s,color:n}=e;return(0,jt.jsx)("div",{className:"ih-monogram",style:{background:s,color:n},children:t})},Ch=()=>(0,jt.jsxs)("svg",{width:"26",height:"26",viewBox:"0 0 24 24",fill:"none",children:[(0,jt.jsx)("rect",{x:"2",y:"5",width:"14",height:"11",rx:"2",stroke:"#a78bfa",strokeWidth:"1.6"}),(0,jt.jsx)("path",{d:"M2 6.5l7 5 7-5",stroke:"#a78bfa",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round"}),(0,jt.jsx)("path",{d:"M15 19h7M19 15l4 4-4 4",stroke:"#7c3aed",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]}),Th=[{name:"Shopify",path:"/integrations/shopify",description:"Automate order, shipping and abandoned-cart SMS notifications for your store.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/shopify",alt:"Shopify",width:"28",height:"28"})},{name:"WordPress / WooCommerce",path:"/integrations/wordpress",description:"Send SMS notifications directly from your WordPress or WooCommerce site.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/wordpress",alt:"WordPress",width:"28",height:"28"})},{name:"GoHighLevel",path:"/integrations/gohighlevel",description:"Connect SMS automation to your GoHighLevel CRM, pipelines and workflows.",icon:(0,jt.jsx)(Mh,{letter:"G",bg:"rgba(16,185,129,0.15)",color:"#34d399"})},{name:"Cliniko",path:"/integrations/cliniko",description:"Automate appointment reminders and patient SMS for healthcare practices.",icon:(0,jt.jsx)(Mh,{letter:"C",bg:"rgba(45,212,191,0.15)",color:"#2dd4bf"})},{name:"monday.com",path:"/integrations/monday",description:"Send SMS from your monday.com boards with reminders, rules, campaigns and AI-handled replies.",icon:(0,jt.jsx)(Mh,{letter:"m",bg:"rgba(97,97,255,0.15)",color:"#8b8bff"})},{name:"Zapier",path:"/integrations/zapier",description:"Connect DataFlows to thousands of apps with no-code Zapier workflows.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/zapier",alt:"Zapier",width:"28",height:"28"})},{name:"Microsoft Power Automate",path:"/integrations/power-automate",description:"Trigger and send SMS inside your Microsoft Power Automate flows.",icon:(0,jt.jsx)("img",{src:"/logos/icons/power-automate.png",alt:"Microsoft Power Automate",width:"28",height:"28"})},{name:"Microsoft Teams",path:"/integrations/microsoft-teams",description:"Send and receive SMS messages directly from Microsoft Teams.",icon:(0,jt.jsx)("img",{src:"/logos/icons/teams.png",alt:"Microsoft Teams",width:"28",height:"28"})},{name:"Email to SMS",path:"/integrations/email-to-sms",description:"Send SMS messages straight from your email inbox \u2014 no app required.",icon:(0,jt.jsx)(Ch,{})},{name:"Supabase",path:"/integrations/supabase",description:"Trigger SMS from Supabase database events and edge functions in real time.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/supabase",alt:"Supabase",width:"28",height:"28"})},{name:"Auth0",path:"/integrations/auth0",description:"Add SMS one-time passcodes and multi-factor authentication to Auth0 logins.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/auth0",alt:"Auth0",width:"28",height:"28"})}],Eh=[{name:"Jotform",slug:"jotform",description:"Send an SMS the moment someone submits a Jotform form.",icon:(0,jt.jsx)(Mh,{letter:"J",bg:"rgba(255,97,0,0.15)",color:"#ff8a3d"})}
2,{name:"Xero",slug:"xero",description:"Text customers automatically when a Xero invoice is created or paid.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/xero",alt:"Xero",width:"28",height:"28"})},{name:"Google Sheets",slug:"google-sheets",description:"Send SMS whenever a new row is added to a Google Sheet.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/googlesheets",alt:"Google Sheets",width:"28",height:"28"})},{name:"Slack",slug:"slack",description:"Turn Slack messages into outbound SMS alerts for your team or customers.",icon:(0,jt.jsx)(Mh,{letter:"S",bg:"rgba(74,21,75,0.25)",color:"#e0a8e0"})},{name:"HubSpot",slug:"hubspot",description:"Trigger SMS from HubSpot CRM deals, contacts and workflows.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/hubspot",alt:"HubSpot",width:"28",height:"28"})},{name:"Salesforce",slug:"salesforce",description:"Send SMS updates when Salesforce records or opportunities change.",icon:(0,jt.jsx)(Mh,{letter:"S",bg:"rgba(0,161,224,0.15)",color:"#00a1e0"})},{name:"Mailchimp",slug:"mailchimp",description:"Follow up email campaigns with an automatic SMS to new subscribers.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/mailchimp",alt:"Mailchimp",width:"28",height:"28"})},{name:"Stripe",slug:"stripe",description:"Send payment confirmation or failed-payment SMS from Stripe events.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/stripe",alt:"Stripe",width:"28",height:"28"})},{name:"Calendly",slug:"calendly",description:"Send SMS booking confirmations and reminders for Calendly appointments.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/calendly",alt:"Calendly",width:"28",height:"28"})},{name:"Gmail",slug:"gmail",description:"Send an SMS notification whenever a new Gmail email arrives.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/gmail",alt:"Gmail",width:"28",height:"28"})},{name:"Airtable",slug:"airtable",url:"https://zapier.com/apps/airtable/integrations/dataflows-sms",description:"Send SMS whenever a record is created or updated in Airtable.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/airtable",alt:"Airtable",width:"28",height:"28"})},{name:"Trello",slug:"trello",description:"Text your team automatically when a Trello card moves or is due.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/trello",alt:"Trello",width:"28",height:"28"})},{name:"Asana",slug:"asana",description:"Send SMS reminders when Asana tasks are assigned or due.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/asana",alt:"Asana",width:"28",height:"28"})},{name:"Monday.com",slug:"monday",description:"Trigger SMS updates from Monday.com boards and status changes.",icon:(0,jt.jsx)(Mh,{letter:"M",bg:"rgba(255,61,87,0.15)",color:"#ff3d57"})},{name:"ActiveCampaign",slug:"activecampaign",url:"https://zapier.com/apps/activecampaign/integrations/dataflows-sms",description:"Combine ActiveCampaign email automations with follow-up SMS.",icon:(0,jt.jsx)(Mh,{letter:"A",bg:"rgba(0,61,102,0.2)",color:"#5aa9e6"})},{name:"Klaviyo",slug:"klaviyo",description:"Add SMS touchpoints to your Klaviyo email marketing flows.",icon:(0,jt.jsx)(Mh,{letter:"K",bg:"rgba(0,0,0,0.4)",color:"#ffffff"})},{name:"Typeform",slug:"typeform",description:"Send an SMS reply the moment a Typeform survey is completed.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/typeform",alt:"Typeform",width:"28",height:"28"})},{name:"Facebook Lead Ads",slug:"facebook-lead-ads",url:"https://zapier.com/apps/facebook-lead-ads/integrations/dataflows-sms",description:"Text new leads instantly after they submit a Facebook Lead Ad.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/facebook",alt:"Facebook Lead Ads",width:"28",height:"28"})},{name:"Google Calendar",slug:"google-calendar",description:"Send SMS reminders before upcoming Google Calendar events.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/googlecalendar",alt:"Google Calendar",width:"28",height:"28"})},{name:"Zoom",slug:"zoom",description:"Text meeting links and reminders for upcoming Zoom calls.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/zoom",alt:"Zoom",width:"28",height:"28"})},{name:"QuickBooks",slug:"quickbooks",description:"Send SMS when a QuickBooks invoice is created, sent or paid.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/quickbooks",alt:"QuickBooks",width:"28",height:"28"})},{name:"PayPal",slug:"paypal",description:"Notify customers by SMS when a PayPal payment is received.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/paypal",alt:"PayPal",width:"28",height:"28"})},{name:"Square",slug:"square",description:"Send SMS receipts and order updates from Square transactions.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/square",alt:"Square",width:"28",height:"28"})},{name:"Pipedrive",slug:"pipedrive",description:"Trigger SMS follow-ups from Pipedrive deals and pipeline stages.",icon:(0,jt.jsx)(Mh,{letter:"P",bg:"rgba(35,193,107,0.15)",color:"#23c16b"})}
2,{name:"Zendesk",slug:"zendesk",description:"Text customers updates when a Zendesk support ticket changes status.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/zendesk",alt:"Zendesk",width:"28",height:"28"})},{name:"Intercom",slug:"intercom",description:"Send SMS follow-ups alongside Intercom conversations and campaigns.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/intercom",alt:"Intercom",width:"28",height:"28"})},{name:"Notion",slug:"notion",description:"Send SMS alerts when a Notion database entry is created or changed.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/notion",alt:"Notion",width:"28",height:"28"})},{name:"Discord",slug:"discord",description:"Turn Discord messages or events into outbound SMS alerts.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/discord",alt:"Discord",width:"28",height:"28"})},{name:"Eventbrite",slug:"eventbrite",description:"Send SMS confirmations and reminders for Eventbrite registrations.",icon:(0,jt.jsx)(Mh,{letter:"E",bg:"rgba(240,85,55,0.15)",color:"#f05537"})},{name:"ClickUp",slug:"clickup",description:"Send SMS notifications when ClickUp tasks are assigned or completed.",icon:(0,jt.jsx)("img",{src:"https://cdn.simpleicons.org/clickup",alt:"ClickUp",width:"28",height:"28"})}],Ih=()=>{const[t,s]=(0,e.useState)(!1),[n,i]=(0,e.useState)({integration:"",name:"",email:"",details:""}),[r,a]=(0,e.useState)(!1),o=e=>{const{name:t,value:s}=e.target;i((e=>({...e,[t]:s})))};return(0,jt.jsx)("section",{className:"ih-request-section",children:(0,jt.jsx)("div",{className:"ih-inner",children:(0,jt.jsx)("div",{className:"ih-request-card",children:t?r?(0,jt.jsxs)("div",{className:"ih-request-success",children:[(0,jt.jsx)("h2",{className:"ih-request-title",children:"Thanks \u2014 request received!"}),(0,jt.jsx)("p",{className:"ih-request-subtitle",children:"We've noted your request and will be in touch if we need any more details."})]}):(0,jt.jsxs)("form",{className:"ih-request-form",onSubmit:e=>{e.preventDefault(),a(!0),At("integration_request"),fetch("https://formsubmit.co/ajax/[email protected]",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({_subject:`Integration request: ${n.integration}`,integration_requested:n.integration,name:n.name,email:n.email,details:n.details})}).then((e=>e.json())).catch((e=>console.log(e)))},children:[(0,jt.jsxs)("div",{className:"ih-request-form-header",children:[(0,jt.jsx)("h2",{className:"ih-request-title",children:"Request an integration"}),(0,jt.jsx)("p",{className:"ih-request-subtitle",children:"Let us know what tool you need and how you'd use it \u2014 we'll get back to you."})]}),(0,jt.jsxs)("div",{className:"ih-request-fields",children:[(0,jt.jsx)("input",{type:"text",name:"integration",className:"ih-request-input",placeholder:"Which integration or tool? (e.g. Salesforce, Monday.com)",value:n.integration,onChange:o,required:!0}),(0,jt.jsxs)("div",{className:"ih-request-row",children:[(0,jt.jsx)("input",{type:"text",name:"name",className:"ih-request-input",placeholder:"Your name",value:n.name,onChange:o,required:!0}),(0,jt.jsx)("input",{type:"email",name:"email",className:"ih-request-input",placeholder:"Your email",value:n.email,onChange:o,required:!0})]}),(0,jt.jsx)("textarea",{name:"details",className:"ih-request-textarea",placeholder:"What would you like this integration to do? (optional)",rows:"3",value:n.details,onChange:o})]}),(0,jt.jsxs)("div",{className:"ih-request-actions",children:[(0,jt.jsx)("button",{type:"submit",className:"ih-request-submit",children:"Send request"}),(0,jt.jsx)("button",{type:"button",className:"ih-request-cancel",onClick:()=>s(!1),children:"Cancel"})]})]}):(0,jt.jsxs)("div",{className:"ih-request-prompt",children:[(0,jt.jsxs)("div",{children:[(0,jt.jsx)("h2",{className:"ih-request-title",children:"Can't find your integration?"}),(0,jt.jsx)("p",{className:"ih-request-subtitle",children:"Tell us which tool you'd like to connect and we'll look into building it."})]}),(0,jt.jsx)("button",{type:"button",className:"ih-request-toggle",onClick:()=>s(!0),children:"Request an integration \u2192"})]})})})})},Ph=()=>(0,jt.jsxs)("div",{className:"ih-container",children:[(0,jt.jsx)(_t,{}),(0,jt.jsxs)(vt,{children:[(0,jt.jsx)("title",{children:"Native Integrations | DataFlows SMS Platform"}),(0,jt.jsx)("link",{rel:"canonical",href:Mt("/integrations")}),(0,jt.jsx)("meta",{name:"description",content:"Explore every native DataFlows integration \u2014 Zapier, Power Automate, Shopify, WordPress, GoHighLevel, Cliniko, monday.com, Microsoft Teams, Supabase, Auth0 and Email to SMS."}),(0,jt.jsx)("meta",{name:"keywords",content:"DataFlows integrations, SMS integrations Australia, Zapier SMS, Power Automate SMS, Shopify SMS, WordPress SMS"}),(0,jt.jsx)("meta",{property:"og:title",content:"Native Integrations | DataFlows SMS Platform"}),(0,jt.jsx)("meta",{property:"og:description",content:"Connect DataFlows SMS to the tools your business already uses \u2014 native, first-party integrations built and maintained by our team."}),(0,jt.jsx)("meta",{property:"og:url",content:"https://dataflows.com.au/integrations"}),(0,jt.jsx)("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"CollectionPage",name:"Native Integrations",url:"https://dataflows.com.au/integrations",breadcrumb:{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://dataflows.com.au/"},{"@type":"ListItem",position:2,name:"Integrations",item:"https://dataflows.com.au/integrations"}]},mainEntity:{"@type":"ItemList",itemListElement:Th.map(((e,t)=>({"@type":"ListItem",position:t+1,name:e.name,url:`https://dataflows.com.au${e.path}`})))}})})]}),(0,jt.jsx)("div",{className:"ih-breadcrumbs",children:(0,jt.jsx)("div",{className:"ih-inner",children:(0,jt.jsx)(wt,{items:[{label:"Home",path:"/"},{label:"Integrations"}]})})}),(0,jt.jsx)("section",{className:"ih-hero",children:(0,jt.jsxs)("div",{className:"ih-inner",children:[(0,jt.jsxs)("span",{className:"ih-badge",children:[Th.length,"+ Native Integrations"]}),(0,jt.jsx)("h1",{className:"ih-title",children:"Native Integrations"}),(0,jt.jsx)("p",{className:"ih-subtitle",children:"Connect DataFlows SMS to the tools your business already uses. No middleware, no workarounds \u2014 every integration below is native, first-party and maintained by our team."})]})}),(0,jt.jsx)(Ih,{}),(0,jt.jsx)("section",{className:"ih-grid-section",children:(0,jt.jsxs)("div",{className:"ih-inner",children:[(0,jt.jsx)("h2",{className:"ih-grid-title",children:"Native Integrations"}),(0,jt.jsx)("div",{className:"ih-grid",children:Th.map((e=>(0,jt.jsxs)(fe,{to:e.path,className:"ih-card",children:[(0,jt.jsx)("div",{className:"ih-card-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"ih-card-title",children:e.name}),(0,jt.jsx)("p",{className:"ih-card-desc",children:e.description}),(0,jt.jsx)("span",{className:"ih-card-arrow",children:"\u2192"})]},e.path)))})]})}),(0,jt.jsx)("section",{className:"ih-grid-section ih-zapier-section",children:(0,jt.jsxs)("div",{className:"ih-inner",children:[(0,jt.jsx)("h2",{className:"ih-grid-title",children:"More via Zapier"}),(0,jt.jsx)("p",{className:"ih-zapier-subtitle",children:"Beyond our native integrations, DataFlows connects to 6,000+ apps through Zapier. Here are some of the most popular ones businesses connect SMS to."}),(0,jt.jsx)("div",{className:"ih-grid",children:Eh.map((e=>(0,jt.jsxs)("a",{href:e.url||`https://zapier.com/apps/dataflows-sms/integrations/${e.slug}`,target:"_blank",rel:"noopener noreferrer",className:"ih-card",children:[(0,jt.jsx)("div",{className:"ih-card-icon",children:e.icon}),(0,jt.jsx)("h3",{className:"ih-card-title",children:e.name}),(0,jt.jsx)("p",{className:"ih-card-desc",children:e.description}),(0,jt.jsx)("span",{className:"ih-card-arrow",children:"\u2192"})]},e.slug)))})]})}),(0,jt.jsx)("section",{className:"ih-cta",children:(0,jt.jsxs)("div",{className:"ih-inner",children:[(0,jt.jsx)("h2",{children:"Don't see your tool?"}),(0,jt.jsx)("p",{children:"Our SMS API connects to anything that can make an HTTP request."}),(0,jt.jsx)(fe,{to:"/contact-us",className:"ih-cta-button",children:"Talk to us"})]})}),(0,jt.jsx)(bt,{})]});var Dh,Fh,Oh,Rh,Lh,qh,zh,Uh,Bh,Wh,Hh,Zh,$h={},Gh=[],Vh=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Yh=Array.isArray;function Kh(e,t){for(var s in t)e[s]=t[s];return e}function Qh(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function Xh(e,t,s){var n,i,r,a={};for(r in t)"key"==r?n=t[r]:"ref"==r?i=t[r]:a[r]=t[r];if(arguments.length>2&&(a.children=arguments.length>3?Dh.call(arguments,2):s),"function"==typeof e&&null!=e.defaultProps)for(r in e.defaultProps)null==a[r]&&(a[r]=e.defaultProps[r]);return Jh(e,a,n,i,null)}function Jh(e,t,s,n,i){var r={type:e,props:t,key:s,ref:n,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:i??++Oh,__i:-1,__u:0};return null==i&&null!=Fh.vnode&&Fh.vnode(r),r}function ep(e){return e.children}function tp(e,t){this.props=e,this.context=t}function sp(e,t){if(null==t)return e.__?sp(e.__,e.__i+1):null;for(var s;t<e.__k.length;t++)if(null!=(s=e.__k[t])&&null!=s.__e)return s.__e;return"function"==typeof e.type?sp(e):null}function np(e){var t,s;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(s=e.__k[t])&&null!=s.__e){e.__e=e.__c.base=s.__e;break}return np(e)}}function ip(e){(!e.__d&&(e.__d=!0)&&Rh.push(e)&&!rp.__r++||Lh!=Fh.debounceRendering)&&((Lh=Fh.debounceRendering)||qh)(rp)}function rp(){for(var e,t,s,n,i,r,a,o=1;Rh.length;)Rh.length>o&&Rh.sort(zh),e=Rh.shift(),o=Rh.length,e.__d&&(s=void 0,i=(n=(t=e).__v).__e,r=[],a=[],t.__P&&((s=Kh({},n)).__v=n.__v+1,Fh.vnode&&Fh.vnode(s),pp(t.__P,s,n,t.__n,t.__P.namespaceURI,32&n.__u?[i]:null,r,i??sp(n),!!(32&n.__u),a),s.__v=n.__v,s.__.__k[s.__i]=s,mp(r,s,a),s.__e!=i&&np(s)));rp.__r=0}function ap(e,t,s,n,i,r,a,o,l,c,d){var u,h,p,m,f,g,y=n&&n.__k||Gh,x=t.length;for(l=function(e,t,s,n,i){var r,a,o,l,c,d=s.length,u=d,h=0;for(e.__k=new Array(i),r=0;r<i;r++)null!=(a=t[r])&&"boolean"!=typeof a&&"function"!=typeof a?(l=r+h,(a=e.__k[r]="string"==typeof a||"number"==typeof a||"bigint"==typeof a||a.constructor==String?Jh(null,a,null,null,null):Yh(a)?Jh(ep,{children:a},null,null,null):null==a.constructor&&a.__b>0?Jh(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):a).__=e,a.__b=e.__b+1,o=null,-1!=(c=a.__i=cp(a,s,l,u))&&(u--,(o=s[c])&&(o.__u|=2)),null==o||null==o.__v?(-1==c&&(i>d?h--:i<d&&h++),"function"!=typeof a.type&&(a.__u|=4)):c!=l&&(c==l-1?h--:c==l+1?h++:(c>l?h--:h++,a.__u|=4))):e.__k[r]=null;if(u)for(r=0;r<d;r++)null!=(o=s[r])&&0==(2&o.__u)&&(o.__e==n&&(n=sp(o)),yp(o,o));return n}(s,t,y,l,x),u=0;u<x;u++)null!=(p=s.__k[u])&&(h=-1==p.__i?$h:y[p.__i]||$h,p.__i=u,g=pp(e,p,h,i,r,a,o,l,c,d),m=p.__e,p.ref&&h.ref!=p.ref&&(h.ref&&gp(h.ref,null,p),d.push(p.ref,p.__c||m,p)),null==f&&null!=m&&(f=m),4&p.__u||h.__k===p.__k?l=op(p,l,e):"function"==typeof p.t
2ype&&void 0!==g?l=g:m&&(l=m.nextSibling),p.__u&=-7);return s.__e=f,l}function op(e,t,s){var n,i;if("function"==typeof e.type){for(n=e.__k,i=0;n&&i<n.length;i++)n[i]&&(n[i].__=e,t=op(n[i],t,s));return t}e.__e!=t&&(t&&e.type&&!s.contains(t)&&(t=sp(e)),s.insertBefore(e.__e,t||null),t=e.__e);do{t=t&&t.nextSibling}while(null!=t&&8==t.nodeType);return t}function lp(e,t){return t=t||[],null==e||"boolean"==typeof e||(Yh(e)?e.some((function(e){lp(e,t)})):t.push(e)),t}function cp(e,t,s,n){var i,r,a=e.key,o=e.type,l=t[s];if(null===l&&null==e.key||l&&a==l.key&&o==l.type&&0==(2&l.__u))return s;if(n>(null!=l&&0==(2&l.__u)?1:0))for(i=s-1,r=s+1;i>=0||r<t.length;){if(i>=0){if((l=t[i])&&0==(2&l.__u)&&a==l.key&&o==l.type)return i;i--}if(r<t.length){if((l=t[r])&&0==(2&l.__u)&&a==l.key&&o==l.type)return r;r++}}return-1}function dp(e,t,s){"-"==t[0]?e.setProperty(t,s??""):e[t]=null==s?"":"number"!=typeof s||Vh.test(t)?s:s+"px"}function up(e,t,s,n,i){var r;e:if("style"==t)if("string"==typeof s)e.style.cssText=s;else{if("string"==typeof n&&(e.style.cssText=n=""),n)for(t in n)s&&t in s||dp(e.style,t,"");if(s)for(t in s)n&&s[t]==n[t]||dp(e.style,t,s[t])}else if("o"==t[0]&&"n"==t[1])r=t!=(t=t.replace(Uh,"$1")),t=t.toLowerCase()in e||"onFocusOut"==t||"onFocusIn"==t?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=s,s?n?s.u=n.u:(s.u=Bh,e.addEventListener(t,r?Hh:Wh,r)):e.removeEventListener(t,r?Hh:Wh,r);else{if("http://www.w3.org/2000/svg"==i)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=t&&"height"!=t&&"href"!=t&&"list"!=t&&"form"!=t&&"tabIndex"!=t&&"download"!=t&&"rowSpan"!=t&&"colSpan"!=t&&"role"!=t&&"popover"!=t&&t in e)try{e[t]=s??"";break e}catch{}"function"==typeof s||(null==s||!1===s&&"-"!=t[4]?e.removeAttribute(t):e.setAttribute(t,"popover"==t&&1==s?"":s))}}function hp(e){return function(t){if(this.l){var s=this.l[t.type+e];if(null==t.t)t.t=Bh++;else if(t.t<s.u)return;return s(Fh.event?Fh.event(t):t)}}}function pp(e,t,s,n,i,r,a,o,l,c){var d,u,h,p,m,f,g,y,x,v,j,w,b,S,k,N,A,_=t.type;if(null!=t.constructor)return null;128&s.__u&&(l=!!(32&s.__u),r=[o=t.__e=s.__e]),(d=Fh.__b)&&d(t);e:if("function"==typeof _)try{if(y=t.props,x="prototype"in _&&_.prototype.render,v=(d=_.contextType)&&n[d.__c],j=d?v?v.props.value:d.__:n,s.__c?g=(u=t.__c=s.__c).__=u.__E:(x?t.__c=u=new _(y,j):(t.__c=u=new tp(y,j),u.constructor=_,u.render=xp),v&&v.sub(u),u.props=y,u.state||(u.state={}),u.context=j,u.__n=n,h=u.__d=!0,u.__h=[],u._sb=[]),x&&null==u.__s&&(u.__s=u.state),x&&null!=_.getDerivedStateFromProps&&(u.__s==u.state&&(u.__s=Kh({},u.__s)),Kh(u.__s,_.getDerivedStateFromProps(y,u.__s))),p=u.props,m=u.state,u.__v=t,h)x&&null==_.getDerivedStateFromProps&&null!=u.componentWillMount&&u.componentWillMount(),x&&null!=u.componentDidMount&&u.__h.push(u.componentDidMount);else{if(x&&null==_.getDerivedStateFromProps&&y!==p&&null!=u.componentWillReceiveProps&&u.componentWillReceiveProps(y,j),!u.__e&&null!=u.shouldComponentUpdate&&!1===u.shouldComponentUpdate(y,u.__s,j)||t.__v==s.__v){for(t.__v!=s.__v&&(u.props=y,u.state=u.__s,u.__d=!1),t.__e=s.__e,t.__k=s.__k,t.__k.some((function(e){e&&(e.__=t)})),w=0;w<u._sb.length;w++)u.__h.push(u._sb[w]);u._sb=[],u.__h.length&&a.push(u);break e}null!=u.componentWillUpdate&&u.componentWillUpdate(y,u.__s,j),x&&null!=u.componentDidUpdate&&u.__h.push((function(){u.componentDidUpdate(p,m,f)}))}if(u.context=j,u.props=y,u.__P=e,u.__e=!1,b=Fh.__r,S=0,x){for(u.state=u.__s,u.__d=!1,b&&b(t),d=u.render(u.props,u.state,u.context),k=0;k<u._sb.length;k++)u.__h.push(u._sb[k]);u._sb=[]}else do{u.__d=!1,b&&b(t),d=u.render(u.props,u.state,u.context),u.state=u.__s}while(u.__d&&++S<25);u.state=u.__s,null!=u.getChildContext&&(n=Kh(Kh({},n),u.getChildContext())),x&&!h&&null!=u.getSnapshotBeforeUpdate&&(f=u.getSnapshotBeforeUpdate(p,m)),N=d,null!=d&&d.type===ep&&null==d.key&&(N=fp(d.props.children)),o=ap(e,Yh(N)?N:[N],t,s,n,i,r,a,o,l,c),u.base=t.__e,t.__u&=-161,u.__h.length&&a.push(u),g&&(u.__E=u.__=null)}
2catch(M){if(t.__v=null,l||null!=r)if(M.then){for(t.__u|=l?160:128;o&&8==o.nodeType&&o.nextSibling;)o=o.nextSibling;r[r.indexOf(o)]=null,t.__e=o}else for(A=r.length;A--;)Qh(r[A]);else t.__e=s.__e,t.__k=s.__k;Fh.__e(M,t,s)}else null==r&&t.__v==s.__v?(t.__k=s.__k,t.__e=s.__e):o=t.__e=function(e,t,s,n,i,r,a,o,l){var c,d,u,h,p,m,f,g=s.props,y=t.props,x=t.type;if("svg"==x?i="http://www.w3.org/2000/svg":"math"==x?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),null!=r)for(c=0;c<r.length;c++)if((p=r[c])&&"setAttribute"in p==!!x&&(x?p.localName==x:3==p.nodeType)){e=p,r[c]=null;break}if(null==e){if(null==x)return document.createTextNode(y);e=document.createElementNS(i,x,y.is&&y),o&&(Fh.__m&&Fh.__m(t,r),o=!1),r=null}if(null==x)g===y||o&&e.data==y||(e.data=y);else{if(r=r&&Dh.call(e.childNodes),g=s.props||$h,!o&&null!=r)for(g={},c=0;c<e.attributes.length;c++)g[(p=e.attributes[c]).name]=p.value;for(c in g)if(p=g[c],"children"!=c)if("dangerouslySetInnerHTML"==c)u=p;else if(!(c in y)){if("value"==c&&"defaultValue"in y||"checked"==c&&"defaultChecked"in y)continue;up(e,c,null,p,i)}for(c in y)p=y[c],"children"==c?h=p:"dangerouslySetInnerHTML"==c?d=p:"value"==c?m=p:"checked"==c?f=p:o&&"function"!=typeof p||g[c]===p||up(e,c,p,g[c],i);if(d)o||u&&(d.__html==u.__html||d.__html==e.innerHTML)||(e.innerHTML=d.__html),t.__k=[];else if(u&&(e.innerHTML=""),ap("template"==t.type?e.content:e,Yh(h)?h:[h],t,s,n,"foreignObject"==x?"http://www.w3.org/1999/xhtml":i,r,a,r?r[0]:s.__k&&sp(s,0),o,l),null!=r)for(c=r.length;c--;)Qh(r[c]);o||(c="value","progress"==x&&null==m?e.removeAttribute("value"):null!=m&&(m!==e[c]||"progress"==x&&!m||"option"==x&&m!=g[c])&&up(e,c,m,g[c],i),c="checked",null!=f&&f!=e[c]&&up(e,c,f,g[c],i))}return e}(s.__e,t,s,n,i,r,a,l,c);return(d=Fh.diffed)&&d(t),128&t.__u?void 0:o}function mp(e,t,s){for(var n=0;n<s.length;n++)gp(s[n],s[++n],s[++n]);Fh.__c&&Fh.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(s){Fh.__e(s,t.__v)}}))}function fp(e){return"object"!=typeof e||null==e||e.__b&&e.__b>0?e:Yh(e)?e.map(fp):Kh({},e)}function gp(e,t,s){try{if("function"==typeof e){var n="function"==typeof e.__u;n&&e.__u(),n&&null==t||(e.__u=e(t))}else e.current=t}catch(i){Fh.__e(i,s)}}function yp(e,t,s){var n,i;if(Fh.unmount&&Fh.unmount(e),(n=e.ref)&&(n.current&&n.current!=e.__e||gp(n,null,t)),null!=(n=e.__c)){if(n.componentWillUnmount)try{n.componentWillUnmount()}catch(r){Fh.__e(r,t)}n.base=n.__P=null}if(n=e.__k)for(i=0;i<n.length;i++)n[i]&&yp(n[i],t,s||"function"!=typeof e.type);s||Qh(e.__e),e.__c=e.__=e.__e=void 0}function xp(e,t,s){return this.constructor(e,s)}function vp(e,t,s){var n,i,r,a;t==document&&(t=document.documentElement),Fh.__&&Fh.__(e,t),i=(n="function"==typeof s)?null:s&&s.__k||t.__k,r=[],a=[],pp(t,e=(!n&&s||t).__k=Xh(ep,null,[e]),i||$h,$h,t.namespaceURI,!n&&s?[s]:i?null:t.firstChild?Dh.call(t.childNodes):null,r,!n&&s?s:i?i.__e:t.firstChild,n,a),mp(r,e,a)}function jp(e,t){vp(e,t,jp)}function wp(e,t,s){var n,i,r,a,o=Kh({},e.props);for(r in e.type&&e.type.defaultProps&&(a=e.type.defaultProps),t)"key"==r?n=t[r]:"ref"==r?i=t[r]:o[r]=null==t[r]&&null!=a?a[r]:t[r];return arguments.length>2&&(o.children=arguments.length>3?Dh.call(arguments,2):s),Jh(e.type,o,n||e.key,i||e.ref,null)}function bp(e){function t(e){var s,n;return this.getChildContext||(s=new Set,(n={})[t.__c]=this,this.getChildContext=function(){return n},this.componentWillUnmount=function(){s=null},this.shouldComponentUpdate=function(e){this.props.value!=e.value&&s.forEach((function(e){e.__e=!0,ip(e)}))},this.sub=function(e){s.add(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){s&&s.delete(e),t&&t.call(e)}}),e.children}return t.__c="__cC"+Zh++,t.__=e,t.Provider=t.__l=(t.Consumer=function(e,t){return e.children(t)}).contextType=t,t}Dh=Gh.slice,Fh={__e:function(e,t,s,n){for(var i,r,a;t=t.__;)if((i=t.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(e)),a=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,n||{}),a=i.__d),a)return i.__E=i}catch(o){e=o}throw e}},Oh=0,tp.prototype.setState=function(e,t){var s;s=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=Kh({},this.state),"function"==typeof e&&(e=e(Kh({},s),this.props)),e&&Kh(s,e),null!=e&&this.__v&&(t&&this._sb.push(t),ip(this))},tp.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),ip(this))},tp.prototype.render=ep,Rh=[],qh="function"==typeof Promise?Promise.prototype.then.bind(Prom
2ise.resolve()):setTimeout,zh=function(e,t){return e.__v.__b-t.__v.__b},rp.__r=0,Uh=/(PointerCapture)$|Capture$/i,Bh=0,Wh=hp(!1),Hh=hp(!0),Zh=0;var Sp=0;Array.isArray;function kp(e,t,s,n,i,r){t||(t={});var a,o,l=t;if("ref"in l)for(o in l={},t)"ref"==o?a=t[o]:l[o]=t[o];var c={type:e,props:l,key:s,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Sp,__i:-1,__u:0,__source:i,__self:r};if("function"==typeof e&&(a=e.defaultProps))for(o in a)void 0===l[o]&&(l[o]=a[o]);return Fh.vnode&&Fh.vnode(c),c}var Np,Ap,_p,Mp,Cp=0,Tp=[],Ep=Fh,Ip=Ep.__b,Pp=Ep.__r,Dp=Ep.diffed,Fp=Ep.__c,Op=Ep.unmount,Rp=Ep.__;function Lp(e,t){Ep.__h&&Ep.__h(Ap,e,Cp||t),Cp=0;var s=Ap.__H||(Ap.__H={__:[],__h:[]});return e>=s.__.length&&s.__.push({}),s.__[e]}function qp(e){return Cp=1,zp(sm,e)}function zp(e,t,s){var n=Lp(Np++,2);if(n.t=e,!n.__c&&(n.__=[s?s(t):sm(void 0,t),function(e){var t=n.__N?n.__N[0]:n.__[0],s=n.t(t,e);t!==s&&(n.__N=[s,n.__[1]],n.__c.setState({}))}],n.__c=Ap,!Ap.__f)){var i=function(e,t,s){if(!n.__c.__H)return!0;var i=n.__c.__H.__.filter((function(e){return!!e.__c}));if(i.every((function(e){return!e.__N})))return!r||r.call(this,e,t,s);var a=n.__c.props!==e;return i.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(a=!0)}})),r&&r.call(this,e,t,s)||a};Ap.__f=!0;var r=Ap.shouldComponentUpdate,a=Ap.componentWillUpdate;Ap.componentWillUpdate=function(e,t,s){if(this.__e){var n=r;r=void 0,i(e,t,s),r=n}a&&a.call(this,e,t,s)},Ap.shouldComponentUpdate=i}return n.__N||n.__}function Up(e,t){var s=Lp(Np++,3);!Ep.__s&&tm(s.__H,t)&&(s.__=e,s.u=t,Ap.__H.__h.push(s))}function Bp(e,t){var s=Lp(Np++,4);!Ep.__s&&tm(s.__H,t)&&(s.__=e,s.u=t,Ap.__h.push(s))}function Wp(e){return Cp=5,Zp((function(){return{current:e}}),[])}function Hp(e,t,s){Cp=6,Bp((function(){if("function"==typeof e){var s=e(t());return function(){e(null),s&&"function"==typeof s&&s()}}if(e)return e.current=t(),function(){return e.current=null}}),null==s?s:s.concat(e))}function Zp(e,t){var s=Lp(Np++,7);return tm(s.__H,t)&&(s.__=e(),s.__H=t,s.__h=e),s.__}function $p(e,t){return Cp=8,Zp((function(){return e}),t)}function Gp(e){var t=Ap.context[e.__c],s=Lp(Np++,9);return s.c=e,t?(null==s.__&&(s.__=!0,t.sub(Ap)),t.props.value):e.__}function Vp(e,t){Ep.useDebugValue&&Ep.useDebugValue(t?t(e):e)}function Yp(){var e=Lp(Np++,11);if(!e.__){for(var t=Ap.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var s=t.__m||(t.__m=[0,0]);e.__="P"+s[0]+"-"+s[1]++}return e.__}function Kp(){for(var e;e=Tp.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Jp),e.__H.__h.forEach(em),e.__H.__h=[]}catch(t){e.__H.__h=[],Ep.__e(t,e.__v)}}Ep.__b=function(e){Ap=null,Ip&&Ip(e)},Ep.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Rp&&Rp(e,t)},Ep.__r=function(e){Pp&&Pp(e),Np=0;var t=(Ap=e.__c).__H;t&&(_p===Ap?(t.__h=[],Ap.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0}))):(t.__h.forEach(Jp),t.__h.forEach(em),t.__h=[],Np=0)),_p=Ap},Ep.diffed=function(e){Dp&&Dp(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==Tp.push(t)&&Mp===Ep.requestAnimationFrame||((Mp=Ep.requestAnimationFrame)||Xp)(Kp)),t.__H.__.forEach((function(e){e.u&&(e.__H=e.u),e.u=void 0}))),_p=Ap=null},Ep.__c=function(e,t){t.some((function(e){try{e.__h.forEach(Jp),e.__h=e.__h.filter((function(e){return!e.__||em(e)}))}catch(s){t.some((function(e){e.__h&&(e.__h=[])})),t=[],Ep.__e(s,e.__v)}})),Fp&&Fp(e,t)},Ep.unmount=function(e){Op&&Op(e);var t,s=e.__c;s&&s.__H&&(s.__H.__.forEach((function(e){try{Jp(e)}catch(s){t=s}})),s.__H=void 0,t&&Ep.__e(t,s.__v))};var Qp="function"==typeof requestAnimationFrame;function Xp(e){var t,s=function(){clearTimeout(n),Qp&&cancelAnimationFrame(t),setTimeout(e)},n=setTimeout(s,100);Qp&&(t=requestAnimationFrame(s))}function Jp(e){var t=Ap,s=e.__c;"function"==typeof s&&(e.__c=void 0,s()),Ap=t}function em(e){var t=Ap;e.__c=e.__(),Ap=t}function tm(e,t){return!e||e.length!==t.length||t.some((function(t,s){return t!==e[s]}))}function sm(e,t){return"function"==typeof t?t(e):t}function nm(e,t){for(var s in t)e[s]=t[s];return e}function im(e,t){for(var s in e)if("__source"!==s&&!(s in t))return!0;for(var n in t)if("__source"!==n&&e[n]!==t[n])return!0;return!1}function rm(e,t){var s=t(),n=qp({t:{__:s,u:t}}),i=n[0].t,r=n[1];return Bp((function(){i.__=s,i.u=t,am(i)&&r({t:i})}),[e,s,t]),Up((function(){return am(i)&&r({t:i}),e((function(){am(i)&&r({t:i})}))}),[e]),s}function am(e){var t,s,n=e.u,i=e.__;try{var r=n();return!((t=i)===(s=r)&&(0!==t||1/t==1/s)||t!=t&&s!=s)}catch{return!0}}function om(e){e()}function lm(e){return e}function cm(){return[!1,om]}var dm=Bp;function um(e,t){this.props=e,this.context=t}(um.prototype=new tp).isPureReactComponent=!0,um.prototype.shouldComponentUpdate=function(e,t){return im(this.props,e)||im(this.state,t)};var hm=Fh.__b;Fh.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),hm&&hm(e)};var pm=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function mm(e){function t(t){var s=nm({},t);return delete s.ref,e(s,t.ref||null)}return t.$$typeof=pm,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var fm=function(e,t){return null==e?null:lp(lp(e).map(t))},gm={map:fm,forEach:fm,count:function(e){return e?lp(e).length:0},only:function(e){var t=lp(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:lp},ym=Fh.__e;Fh.__e=function(e,t,s,n){if(e.then)for(var i,r=t;r=r.__;)if((i=r.__c)&&i.__c)return null==t.__e&&(t.__e=s.__e,t.__k=s.__k),i.__c(e,t);ym(e,t,s,n)};
2var xm=Fh.unmount;function vm(e,t,s){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=nm({},e)).__c&&(e.__c.__P===s&&(e.__c.__P=t),e.__c.__e=!0,e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return vm(e,t,s)}))),e}function jm(e,t,s){return e&&s&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return jm(e,t,s)})),e.__c&&e.__c.__P===t&&(e.__e&&s.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=s)),e}function wm(){this.__u=0,this.o=null,this.__b=null}function bm(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Sm(){this.i=null,this.l=null}Fh.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),xm&&xm(e)},(wm.prototype=new tp).__c=function(e,t){var s=t.__c,n=this;null==n.o&&(n.o=[]),n.o.push(s);var i=bm(n.__v),r=!1,a=function(){r||(r=!0,s.__R=null,i?i(o):o())};s.__R=a;var o=function(){if(! --n.__u){if(n.state.__a){var e=n.state.__a;n.__v.__k[0]=jm(e,e.__c.__P,e.__c.__O)}var t;for(n.setState({__a:n.__b=null});t=n.o.pop();)t.forceUpdate()}};n.__u++||32&t.__u||n.setState({__a:n.__b=n.__v.__k[0]}),e.then(a,a)},wm.prototype.componentWillUnmount=function(){this.o=[]},wm.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var s=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=vm(this.__b,s,n.__O=n.__P)}this.__b=null}var i=t.__a&&Xh(ep,null,e.fallback);return i&&(i.__u&=-33),[Xh(ep,null,t.__a?null:e.children),i]};var km=function(e,t,s){if(++s[1]===s[0]&&e.l.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.l.size))for(s=e.i;s;){for(;s.length>3;)s.pop()();if(s[1]<s[0])break;e.i=s=s[2]}};function Nm(e){return this.getChildContext=function(){return e.context},e.children}function Am(e){var t=this,s=e.h;if(t.componentWillUnmount=function(){vp(null,t.v),t.v=null,t.h=null},t.h&&t.h!==s&&t.componentWillUnmount(),!t.v){for(var n=t.__v;null!==n&&!n.__m&&null!==n.__;)n=n.__;t.h=s,t.v={nodeType:1,parentNode:s,childNodes:[],__k:{__m:n.__m},contains:function(){return!0},appendChild:function(e){this.childNodes.push(e),t.h.appendChild(e)},insertBefore:function(e,s){this.childNodes.push(e),t.h.insertBefore(e,s)},removeChild:function(e){this.childNodes.splice(this.childNodes.indexOf(e)>>>1,1),t.h.removeChild(e)}}}vp(Xh(Nm,{context:t.context},e.__v),t.v)}(Sm.prototype=new tp).__a=function(e){var t=this,s=bm(t.__v),n=t.l.get(e);return n[0]++,function(i){var r=function(){t.props.revealOrder?(n.push(i),km(t,e,n)):i()};s?s(r):r()}},Sm.prototype.render=function(e){this.i=null,this.l=new Map;var t=lp(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var s=t.length;s--;)this.l.set(t[s],this.i=[1,0,this.i]);return e.children},Sm.prototype.componentDidUpdate=Sm.prototype.componentDidMount=function(){var e=this;this.l.forEach((function(t,s){km(e,s,t)}))};var _m=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Mm=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Cm=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Tm=/[A-Z0-9]/g,Em=typeof document<"u",Im=function(e){return(typeof Symbol<"u"&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};tp.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(tp.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var Pm=Fh.event;function Dm(){}function Fm(){return this.cancelBubble}function Om(){return this.defaultPrevented}Fh.event=function(e){return Pm&&(e=Pm(e)),e.persist=Dm,e.isPropagationStopped=Fm,e.isDefaultPrevented=Om,e.nativeEvent=e};var Rm,Lm={enumerable:!1,configurable:!0,get:function(){return this.class}},qm=Fh.vnode;Fh.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,s=e.type,n={},i=-1===s.indexOf("-");for(var r in t){var a=t[r];if(!("value"===r&&"defaultValue"in t&&null==a||Em&&"children"===r&&"noscript"===s||"class"===r||"className"===r)){var o=r.toLowerCase();"defaultValue"===r&&"value"in t&&null==t.value?r="value":"download"===r&&!0===a?a="":"translate"===o&&"no"===a?a=!1:"o"===o[0]&&"n"===o[1]?"ondoubleclick"===o?r="ondblclick":"onchange"!==o||"input"!==s&&"textarea"!==s||Im(t.type)?"onfocus"===o?r="onfocusin":"onblur"===o?r="onfocusout":Cm.test(r)&&(r=o):o=r="oninput":i&&Mm.test(r)?r=r.replace(Tm,"-$&").toLowerCase():null===a&&(a=void 0),"oninput"===o&&n[r=o]&&(r="oninputCapture"),n[r]=a}}"select"==s&&n.multiple&&Array.isArray(n.value)&&(n.value=lp(t.children).forEac
2h((function(e){e.props.selected=-1!=n.value.indexOf(e.props.value)}))),"select"==s&&null!=n.defaultValue&&(n.value=lp(t.children).forEach((function(e){e.props.selected=n.multiple?-1!=n.defaultValue.indexOf(e.props.value):n.defaultValue==e.props.value}))),t.class&&!t.className?(n.class=t.class,Object.defineProperty(n,"className",Lm)):(t.className&&!t.class||t.class&&t.className)&&(n.class=n.className=t.className),e.props=n}(e),e.$$typeof=_m,qm&&qm(e)};var zm=Fh.__r;Fh.__r=function(e){zm&&zm(e),Rm=e.__c};var Um=Fh.diffed;Fh.diffed=function(e){Um&&Um(e);var t=e.props,s=e.__e;null!=s&&"textarea"===e.type&&"value"in t&&t.value!==s.value&&(s.value=null==t.value?"":t.value),Rm=null};var Bm={ReactCurrentDispatcher:{current:{readContext:function(e){return Rm.__n[e.__c].props.value},useCallback:$p,useContext:Gp,useDebugValue:Vp,useDeferredValue:lm,useEffect:Up,useId:Yp,useImperativeHandle:Hp,useInsertionEffect:dm,useLayoutEffect:Bp,useMemo:Zp,useReducer:zp,useRef:Wp,useState:qp,useSyncExternalStore:rm,useTransition:cm}}};function Wm(e){return!!e&&e.$$typeof===_m}function Hm(e){return Wm(e)?wp.apply(null,arguments):e}var Zm={useState:qp,useId:Yp,useReducer:zp,useEffect:Up,useLayoutEffect:Bp,useInsertionEffect:dm,useTransition:cm,useDeferredValue:lm,useSyncExternalStore:rm,startTransition:om,useRef:Wp,useImperativeHandle:Hp,useMemo:Zp,useCallback:$p,useContext:Gp,useDebugValue:Vp,version:"18.3.1",Children:gm,render:function(e,t,s){return null==t.__k&&(t.textContent=""),vp(e,t),"function"==typeof s&&s(),e?e.__c:null},hydrate:function(e,t,s){return jp(e,t),"function"==typeof s&&s(),e?e.__c:null},unmountComponentAtNode:function(e){return!!e.__k&&(vp(null,e),!0)},createPortal:function(e,t){var s=Xh(Am,{__v:e,h:t});return s.containerInfo=t,s},createElement:Xh,createContext:bp,createFactory:function(e){return Xh.bind(null,e)},cloneElement:Hm,createRef:function(){return{current:null}},Fragment:ep,isValidElement:Wm,isElement:Wm,isFragment:function(e){return Wm(e)&&e.type===ep},isMemo:function(e){return!!e&&!!e.displayName&&("string"==typeof e.displayName||e.displayName instanceof String)&&e.displayName.startsWith("Memo(")},findDOMNode:function(e){return e&&(e.base||1===e.nodeType&&e)||null},Component:tp,PureComponent:um,memo:function(e,t){function s(e){var s=this.props.ref,n=s==e.ref;return!n&&s&&(s.call?s(null):s.current=null),t?!t(this.props,e)||!n:im(this.props,e)}function n(t){return this.shouldComponentUpdate=s,Xh(e,t)}return n.displayName="Memo("+(e.displayName||e.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n},forwardRef:mm,flushSync:function(e,t){return e(t)},unstable_batchedUpdates:function(e,t){return e(t)},StrictMode:ep,Suspense:wm,SuspenseList:Sm,lazy:function(e){var t,s,n;function i(i){if(t||(t=e()).then((function(e){s=e.default||e}),(function(e){n=e})),n)throw n;if(!s)throw t;return Xh(s,i)}return i.displayName="Lazy",i.__f=!0,i},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Bm};var $m,Gm,Vm;(Gm=$m||($m={})).assertEqual=e=>e,Gm.assertIs=function(e){},Gm.assertNever=function(e){throw new Error},Gm.arrayToEnum=e=>{const t={};for(const s of e)t[s]=s;return t},Gm.getValidEnumValues=e=>{const t=Gm.objectKeys(e).filter((t=>"number"!=typeof e[e[t]])),s={};for(const n of t)s[n]=e[n];return Gm.objectValues(s)},Gm.objectValues=e=>Gm.objectKeys(e).map((function(t){return e[t]})),Gm.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.push(s);return t},Gm.find=(e,t)=>{for(const s of e)if(t(s))return s},Gm.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,Gm.joinValues=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" | ";return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},Gm.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(Vm||(Vm={})).mergeShapes=(e,t)=>({...e,...t});const Ym=$m.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Km=e=>{switch(typeof e){case"undefined":return Ym.undefined;case"string":return Ym.string;
2case"number":return isNaN(e)?Ym.nan:Ym.number;case"boolean":return Ym.boolean;case"function":return Ym.function;case"bigint":return Ym.bigint;case"symbol":return Ym.symbol;case"object":return Array.isArray(e)?Ym.array:null===e?Ym.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?Ym.promise:typeof Map<"u"&&e instanceof Map?Ym.map:typeof Set<"u"&&e instanceof Set?Ym.set:typeof Date<"u"&&e instanceof Date?Ym.date:Ym.object;default:return Ym.unknown}},Qm=$m.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Xm extends Error{get errors(){return this.issues}constructor(e){var t;super(),t=this,this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.issues=[...t.issues,...e]};const s=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,s):this.__proto__=s,this.name="ZodError",this.issues=e}format(e){const t=e||function(e){return e.message},s={_errors:[]},n=e=>{for(const i of e.issues)if("invalid_union"===i.code)i.unionErrors.map(n);else if("invalid_return_type"===i.code)n(i.returnTypeError);else if("invalid_arguments"===i.code)n(i.argumentsError);else if(0===i.path.length)s._errors.push(t(i));else{let e=s,n=0;for(;n<i.path.length;){const s=i.path[n];n===i.path.length-1?(e[s]=e[s]||{_errors:[]},e[s]._errors.push(t(i))):e[s]=e[s]||{_errors:[]},e=e[s],n++}}};return n(this),s}static assert(e){if(!(e instanceof Xm))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,$m.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e=>e.message;const t={},s=[];for(const n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):s.push(e(n));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}}Xm.create=e=>new Xm(e);const Jm=(e,t)=>{let s;switch(e.code){case Qm.invalid_type:s=e.received===Ym.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case Qm.invalid_literal:s=`Invalid literal value, expected ${JSON.stringify(e.expected,$m.jsonStringifyReplacer)}`;break;case Qm.unrecognized_keys:s=`Unrecognized key(s) in object: ${$m.joinValues(e.keys,", ")}`;break;case Qm.invalid_union:s="Invalid input";break;case Qm.invalid_union_discriminator:s=`Invalid discriminator value. Expected ${$m.joinValues(e.options)}`;break;case Qm.invalid_enum_value:s=`Invalid enum value. Expected ${$m.joinValues(e.options)}, received '${e.received}'`;break;case Qm.invalid_arguments:s="Invalid function arguments";break;case Qm.invalid_return_type:s="Invalid function return type";break;case Qm.invalid_date:s="Invalid date";break;case Qm.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(s=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(s=`${s} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?s=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?s=`Invalid input: must end with "${e.validation.endsWith}"`:$m.assertNever(e.validation):s="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case Qm.too_small:s="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case Qm.too_big:s="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case Qm.custom:s="Invalid input";break;case Qm.invalid_intersection_types:s="Intersection results could not be merged";break;case Qm.not_multiple_of:s=`Number must be a multiple of ${e.multipleOf}`;break;case Qm.not_finite:s="Number must be finite";break;default:s=t.defaultError,$m.assertNever(e)}return{message:s}};let ef=Jm;function tf(){return ef}const sf=e=>{const{data:t,path:s,errorMaps:n,issueData:i}=e,r=[...s,...i.path||[]],a={...i,path:r};if(void 0!==i.message)return{...i,path:r,message:i.message};let o="";const l=n.filter((e=>!!e)).slice().reverse();for(const c of l)o=c(a,{data:t,defaultError:o}).message;return{...i,path:r,message:o}};function nf(e,t){const s=tf(),n=sf({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,s,s===Jm?void 0:Jm].filter((e=>!!e))});e.common.issues.push(n)}class rf{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const s=[];for(const n of t){if("aborted"===n.status)return af;"dirty"===n.status&&e.dirty(),s.push(n.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){const s=[];for(const n of t){const e=await n.key,t=await n.value;s.push({key:e,value:t})}return rf.mergeObjectSync(e,s)}static mergeObjectSync(e,t){const s={};for(const n of t){const{key:t,value:i}=n;if("aborted"===t.status||"aborted"===i.status)return af;"dirty"===t.status&&e.dirty(),"dirty"===i.status&&e.dirty(),"__proto__"!==t.value&&(typeof i.value<"u"||n.alwaysSet)&&(s[t.value]=i.value)}return{status:e.value,value:s}}}const af=Object.freeze({status:"aborted"}),of=e=>({status:"dirty",value:e}),lf=e=>
2({status:"valid",value:e}),cf=e=>"aborted"===e.status,df=e=>"dirty"===e.status,uf=e=>"valid"===e.status,hf=e=>typeof Promise<"u"&&e instanceof Promise;function pf(e,t,s,n){if("function"==typeof t||!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t.get(e)}function mf(e,t,s,n,i){if("function"==typeof t||!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,s),s}var ff,gf,yf,xf;(gf=ff||(ff={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},gf.toString=e=>"string"==typeof e?e:null==e?void 0:e.message;class vf{constructor(e,t,s,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const jf=(e,t)=>{if(uf(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new Xm(e.common.issues);return this._error=t,this._error}}};function wf(e){if(!e)return{};const{errorMap:t,invalid_type_error:s,required_error:n,description:i}=e;if(t&&(s||n))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{var r,a;const{message:o}=e;return"invalid_enum_value"===t.code?{message:o??i.defaultError}:typeof i.data>"u"?{message:null!==(r=o??n)&&void 0!==r?r:i.defaultError}:"invalid_type"!==t.code?{message:i.defaultError}:{message:null!==(a=o??s)&&void 0!==a?a:i.defaultError}},description:i}}class bf{get description(){return this._def.description}_getType(e){return Km(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Km(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new rf,ctx:{common:e.parent.common,data:e.data,parsedType:Km(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(hf(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){var s;const n={common:{issues:[],async:null!==(s=null==t?void 0:t.async)&&void 0!==s&&s,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Km(e)},i=this._parseSync({data:e,path:n.path,parent:n});return jf(n,i)}"~validate"(e){var t,s;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Km(e)};if(!this["~standard"].async)try{const t=this._parseSync({data:e,path:[],parent:n});return uf(t)?{value:t.value}:{issues:n.common.issues}}catch(i){!(null===(s=null===(t=null==i?void 0:i.message)||void 0===t?void 0:t.toLowerCase())||void 0===s)&&s.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then((e=>uf(e)?{value:e.value}:{issues:n.common.issues}))}async parseAsync(e,t){const s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){const s={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Km(e)},n=this._parse({data:e,path:s.path,parent:s}),i=await(hf(n)?n:Promise.resolve(n));return jf(s,i)}refine(e,t){const s=e=>"string"==typeof t||typeof t>"u"?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,n)=>{const i=e(t),r=()=>n.addIssue({code:Qm.custom,...s(t)});return typeof Promise<"u"&&i instanceof Promise?i.then((e=>!!e||(r(),!1))):!!i||(r(),!1)}))}refinement(e,t){return this._refinement(((s,n)=>!!e(s)||(n.addIssue("function"==typeof t?t(s,n):t),!1)))}_refinement(e){return new bg({schema:this,typeName:Fg.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return Sg.create(this,this._def)}nullable(){return kg.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ng.create(this)}promise(){return wg.create(this,this._def)}or(e){return ag.create([this,e],this._def)}and(e){return dg.create(this,e,this._def)}transform(e){return new bg({...wf(this._def),schema:this,typeName:Fg.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new Ng({...wf(this._def),innerType:this,defaultValue:t,typeName:Fg.ZodDefault})}brand(){return new Cg({typeName:Fg.ZodBranded,type:this,...wf(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new Ag({...wf(this._def),innerType:this,catchValue:t,typeName:Fg.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return Tg.create(this,e)}readonly(){return Eg.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Sf=/^c[^\s-]{8,}
2$/i,kf=/^[0-9a-z]+$/,Nf=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Af=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,_f=/^[a-z0-9_-]{21}$/i,Mf=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Cf=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Tf=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i;let Ef;const If=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Pf=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Df=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ff=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Of=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Rf=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Lf="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",qf=new RegExp(`^${Lf}$`);function zf(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${e.precision?"+":"?"}`}function Uf(e){let t=`${Lf}T${zf(e)}`;const s=[];return s.push(e.local?"Z?":"Z"),e.offset&&s.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${s.join("|")})`,new RegExp(`^${t}$`)}function Bf(e,t){if(!Mf.test(e))return!1;try{const[s]=e.split("."),n=s.replace(/-/g,"+").replace(/_/g,"/").padEnd(s.length+(4-s.length%4)%4,"="),i=JSON.parse(atob(n));return!("object"!=typeof i||null===i||!i.typ||!i.alg||t&&i.alg!==t)}catch{return!1}}function Wf(e,t){return!(("v4"!==t&&t||!Pf.test(e))&&("v6"!==t&&t||!Ff.test(e)))}class Hf extends bf{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==Ym.string){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.string,received:t.parsedType}),af}const t=new rf;let s;for(const a of this._def.checks)if("min"===a.kind)e.data.length<a.value&&(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("max"===a.kind)e.data.length>a.value&&(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),t.dirty());else if("length"===a.kind){const n=e.data.length>a.value,i=e.data.length<a.value;(n||i)&&(s=this._getOrReturnCtx(e,s),n?nf(s,{code:Qm.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):i&&nf(s,{code:Qm.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),t.dirty())}else if("email"===a.kind)Tf.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"email",code:Qm.invalid_string,message:a.message}),t.dirty());else if("emoji"===a.kind)Ef||(Ef=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Ef.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"emoji",code:Qm.invalid_string,message:a.message}),t.dirty());else if("uuid"===a.kind)Af.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"uuid",code:Qm.invalid_string,message:a.message}),t.dirty());else if("nanoid"===a.kind)_f.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"nanoid",code:Qm.invalid_string,message:a.message}),t.dirty());else if("cuid"===a.kind)Sf.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"cuid",code:Qm.invalid_string,message:a.message}),t.dirty());else if("cuid2"===a.kind)kf.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"cuid2",code:Qm.invalid_string,message:a.message}),t.dirty());else if("ulid"===a.kind)Nf.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"ulid",code:Qm.invalid_string,message:a.message}),t.dirty());else if("url"===a.kind)try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),nf(s,{validation:"url",code:Qm.invalid_string,message:a.message}),t.dirty()}else"regex"===a.kind?(a.regex.lastIndex=0,a.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"regex",code:Qm.invalid_string,message:a.message}),t.dirty())):"trim"===a.kind?e.data=e.data.trim():"includes"===a.kind?e.data.includes(a.value,a.position)||(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),t.dirty()):"toLowerCase"===a.kind?e.data=e.data.toLowerCase():"toUpperCase"===a.kind?e.data=e.data.toUpperCase():"startsWith"===a.kind?e.data.startsWith(a.value)||(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.invalid_string,validation:{startsWith:a.value},message:a.message}),t.dirty()):"endsWith"===a.kind?e.data.endsWith(a.value)||(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.invalid_string,validation:{endsWith:a.value},message:a.message}),t.dirty()):"datetime"===a.kind?Uf(a).test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.invalid_string,validation:"datetime",message:a.message}),t.dirty()):"date"===a.kind?qf.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.invalid_string,validation:"date",message:a.message}),t.dirty()):"time"===a.kind?(r=a,new RegExp(`^${zf(r)}$`)).test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.invalid_string,validation:"time",message:a.message}),t.dirty()):"duration"===a.kind?Cf.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"duration",code:Qm.invalid_string,message:a.message}),t.dirty()):"ip"===a.kind?(n=e.data,("v4"===(i=a.version)||!i)&&If.test(n)||("v6"===i||!i)&&Df.test(n)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"ip",code:Qm.invalid_string,message:a.message}),t.dirty())):"jwt"===a.kind?Bf(e.data,a.alg)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"jwt",code:Qm.invalid_string,message:a.message}),t.dirty()):"cidr"===a.kind?Wf(e.data,a.version)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"cidr",code:Qm.invalid_string,message:a.message}),t.dirty()):"base64"===a.kind?Of.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"base64",code:Qm.invalid_string,message:a.message}),t.dirty()):"base64url"===a.kind?Rf.test(e.data)||(s=this._getOrReturnCtx(e,s),nf(s,{validation:"base64url",code:Qm.invalid_string,message:a.message}),t.dirty()):$m.assertNever(a);var n,i,r;return{status:t.value,value:e.data}}_regex(e,t,s){return this.refinement((t=>e.test(t)),{validation:t,code:Qm.invalid_string,...ff.errToObj(s)})}_addCheck(e){return new Hf({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...ff.errToObj(e)})}url(e){return this._addCheck({kind:"url",...ff.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...ff.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...ff.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...ff.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...ff.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...ff.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...ff.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...ff.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...ff.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...ff.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...ff.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...ff.errToObj(e)})}datetime(e){var t,s;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(null==e?void 0:e.precision)>"u"?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(s=null==e?void 0:e.local)&&void 0!==s&&s,...ff.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(null==e?void 0:e.precision)>"u"?null:null==e?void 0:e.precision,...ff.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...ff.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...ff.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...ff.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...ff.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...ff.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...ff.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...ff.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...ff.errToObj(t)})}nonempty(e){return this.min(1,ff.errToObj(e))}trim(){return new Hf({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Hf({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Hf({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}
vendor: 6,293 bytes, line 2
2get isDate(){return!!this._def.checks.find((e=>"date"===e.kind))}get isTime(){return!!this._def.checks.find((e=>"time"===e.kind))}get isDuration(){return!!this._def.checks.find((e=>"duration"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isNANOID(){return!!this._def.checks.find((e=>"nanoid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get isCIDR(){return!!this._def.checks.find((e=>"cidr"===e.kind))}get isBase64(){return!!this._def.checks.find((e=>"base64"===e.kind))}get isBase64url(){return!!this._def.checks.find((e=>"base64url"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}function Zf(e,t){const s=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,i=s>n?s:n;return parseInt(e.toFixed(i).replace(".",""))%parseInt(t.toFixed(i).replace(".",""))/Math.pow(10,i)}Hf.create=e=>{var t;return new Hf({checks:[],typeName:Fg.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...wf(e)})};class $f extends bf{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==Ym.number){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.number,received:t.parsedType}),af}let t;const s=new rf;for(const n of this._def.checks)"int"===n.kind?$m.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),nf(t,{code:Qm.invalid_type,expected:"integer",received:"float",message:n.message}),s.dirty()):"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(t=this._getOrReturnCtx(e,t),nf(t,{code:Qm.too_small,minimum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),nf(t,{code:Qm.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):"multipleOf"===n.kind?0!==Zf(e.data,n.value)&&(t=this._getOrReturnCtx(e,t),nf(t,{code:Qm.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):"finite"===n.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),nf(t,{code:Qm.not_finite,message:n.message}),s.dirty()):$m.assertNever(n);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,ff.toString(t))}gt(e,t){return this.setLimit("min",e,!1,ff.toString(t))}lte(e,t){return this.setLimit("max",e,!0,ff.toString(t))}lt(e,t){return this.setLimit("max",e,!1,ff.toString(t))}setLimit(e,t,s,n){return new $f({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:ff.toString(n)}]})}_addCheck(e){return new $f({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:ff.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ff.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ff.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ff.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ff.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:ff.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:ff.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ff.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ff.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find((e=>"int"===e.kind||"multipleOf"===e.kind&&$m.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const s of this._def.checks){if("finite"===s.kind||"int"===s.kind||"multipleOf"===s.kind)return!0;"min"===s.kind?(null===t||s.value>t)&&(t=s.value):"max"===s.kind&&(null===e||s.value<e)&&(e=s.value)}return Number.isFinite(t)&&Number.isFinite(e)}}$f.create=e=>new $f({checks:[],typeName:Fg.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...wf(e)});class Gf extends bf{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==Ym.bigint)return this._getInvalidInput(e);let t;const s=new rf;for(const n of this._def.checks)"min"===n.kind?(n.inclusive?e.data<n.value:e.data<=n.value)&&(t=this._getOrReturnCtx(e,t),nf(t,{code:Qm.too_small,type:"bigint",minimum:n.value,inclusive:n.inclusive,message:n.message}),s.dirty()):"max"===n.kind?(n.inclusive?e.data>n.value:e.data>=n.value)&&(t=this._getOrReturnCtx(e,t),nf(t,{code:Qm.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),s.dirty()):"multipleOf"===n.kind?e.data%n.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),nf(t,{code:Qm.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):$m.assertNever(n);return{status:s.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.bigint,received:t.parsedType}),af}gte(e,t){return this.setLimit("min",e,!0,ff.toString(t))}gt(e,t){return this.setLimit("min",e,!1,ff.toString(t))}lte(e,t){return this.setLimit("max",e,!0,ff.toString(t))}lt(e,t){return this.setLimit("max",e,!1,ff.toString(t))}setLimit(e,t,s,n){return new Gf({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:ff.toString(n)}]})}_addCheck(e){return new Gf({...this._def,checks:[...this._def.checks,e]})}
2positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ff.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ff.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ff.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ff.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:ff.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}Gf.create=e=>{var t;return new Gf({checks:[],typeName:Fg.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...wf(e)})};class Vf extends bf{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==Ym.boolean){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.boolean,received:t.parsedType}),af}return lf(e.data)}}Vf.create=e=>new Vf({typeName:Fg.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...wf(e)});class Yf extends bf{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==Ym.date){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.date,received:t.parsedType}),af}if(isNaN(e.data.getTime())){return nf(this._getOrReturnCtx(e),{code:Qm.invalid_date}),af}const t=new rf;let s;for(const n of this._def.checks)"min"===n.kind?e.data.getTime()<n.value&&(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.too_small,message:n.message,inclusive:!0,exact:!1,minimum:n.value,type:"date"}),t.dirty()):"max"===n.kind?e.data.getTime()>n.value&&(s=this._getOrReturnCtx(e,s),nf(s,{code:Qm.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),t.dirty()):$m.assertNever(n);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Yf({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:ff.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:ff.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}Yf.create=e=>new Yf({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Fg.ZodDate,...wf(e)});class Kf extends bf{_parse(e){if(this._getType(e)!==Ym.symbol){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.symbol,received:t.parsedType}),af}return lf(e.data)}}Kf.create=e=>new Kf({typeName:Fg.ZodSymbol,...wf(e)});class Qf extends bf{_parse(e){if(this._getType(e)!==Ym.undefined){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.undefined,received:t.parsedType}),af}return lf(e.data)}}Qf.create=e=>new Qf({typeName:Fg.ZodUndefined,...wf(e)});class Xf extends bf{_parse(e){if(this._getType(e)!==Ym.null){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.null,received:t.parsedType}),af}return lf(e.data)}}Xf.create=e=>new Xf({typeName:Fg.ZodNull,...wf(e)});class Jf extends bf{constructor(){super(...arguments),this._any=!0}_parse(e){return lf(e.data)}}Jf.create=e=>new Jf({typeName:Fg.ZodAny,...wf(e)});class eg extends bf{constructor(){super(...arguments),this._unknown=!0}_parse(e){return lf(e.data)}}eg.create=e=>new eg({typeName:Fg.ZodUnknown,...wf(e)});class tg extends bf{_parse(e){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.never,received:t.parsedType}),af}}tg.create=e=>new tg({typeName:Fg.ZodNever,...wf(e)});class sg extends bf{_parse(e){if(this._getType(e)!==Ym.undefined){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.void,received:t.parsedType}),af}return lf(e.data)}}sg.create=e=>new sg({typeName:Fg.ZodVoid,...wf(e)});class ng extends bf{_parse(e){const{ctx:t,status:s}=this._processInputParams(e),n=this._def;if(t.parsedType!==Ym.array)return nf(t,{code:Qm.invalid_type,expected:Ym.array,received:t.parsedType}),af;if(null!==n.exactLength){const e=t.data.length>n.exactLength.value,i=t.data.length<n.exactLength.value;(e||i)&&(nf(t,{code:e?Qm.too_big:Qm.too_small,minimum:i?n.exactLength.value:void 0,maximum:e?n.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:n.exactLength.message}),s.dirty())}if(null!==n.minLength&&t.data.length<n.minLength.value&&(nf(t,{code:Qm.too_small,minimum:n.minLength.value,type:"array",inclusive:!0,exact:!1,message:n.minLength.message}),s.dirty()),null!==n.maxLength&&t.data.length>n.maxLength.value&&(nf(t,{code:Qm.too_big,maximum:n.maxLength.value,type:"array",inclusive:!0,exact:!1,message:n.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map(((e,s)=>n.type._parseAsync(new vf(t,e,t.path,s))))).then((e=>rf.mergeArray(s,e)));const i=[...t.data].map(((e,s)=>n.type._parseSync(new vf(t,e,t.path,s))));return rf.mergeArray(s,i)}
2get element(){return this._def.type}min(e,t){return new ng({...this._def,minLength:{value:e,message:ff.toString(t)}})}max(e,t){return new ng({...this._def,maxLength:{value:e,message:ff.toString(t)}})}length(e,t){return new ng({...this._def,exactLength:{value:e,message:ff.toString(t)}})}nonempty(e){return this.min(1,e)}}function ig(e){if(e instanceof rg){const t={};for(const s in e.shape){const n=e.shape[s];t[s]=Sg.create(ig(n))}return new rg({...e._def,shape:()=>t})}return e instanceof ng?new ng({...e._def,type:ig(e.element)}):e instanceof Sg?Sg.create(ig(e.unwrap())):e instanceof kg?kg.create(ig(e.unwrap())):e instanceof ug?ug.create(e.items.map((e=>ig(e)))):e}ng.create=(e,t)=>new ng({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Fg.ZodArray,...wf(t)});class rg extends bf{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=$m.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==Ym.object){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.object,received:t.parsedType}),af}const{status:t,ctx:s}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),r=[];if(!(this._def.catchall instanceof tg&&"strip"===this._def.unknownKeys))for(const o in s.data)i.includes(o)||r.push(o);const a=[];for(const o of i){const e=n[o],t=s.data[o];a.push({key:{status:"valid",value:o},value:e._parse(new vf(s,t,s.path,o)),alwaysSet:o in s.data})}if(this._def.catchall instanceof tg){const e=this._def.unknownKeys;if("passthrough"===e)for(const t of r)a.push({key:{status:"valid",value:t},value:{status:"valid",value:s.data[t]}});else if("strict"===e)r.length>0&&(nf(s,{code:Qm.unrecognized_keys,keys:r}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of r){const n=s.data[t];a.push({key:{status:"valid",value:t},value:e._parse(new vf(s,n,s.path,t)),alwaysSet:t in s.data})}}return s.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of a){const s=await t.key,n=await t.value;e.push({key:s,value:n,alwaysSet:t.alwaysSet})}return e})).then((e=>rf.mergeObjectSync(t,e))):rf.mergeObjectSync(t,a)}get shape(){return this._def.shape()}strict(e){return ff.errToObj,new rg({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,s)=>{var n,i,r,a;const o=null!==(r=null===(i=(n=this._def).errorMap)||void 0===i?void 0:i.call(n,t,s).message)&&void 0!==r?r:s.defaultError;return"unrecognized_keys"===t.code?{message:null!==(a=ff.errToObj(e).message)&&void 0!==a?a:o}:{message:o}}}:{}})}strip(){return new rg({...this._def,unknownKeys:"strip"})}passthrough(){return new rg({...this._def,unknownKeys:"passthrough"})}extend(e){return new rg({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new rg({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Fg.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new rg({...this._def,catchall:e})}pick(e){const t={};return $m.objectKeys(e).forEach((s=>{e[s]&&this.shape[s]&&(t[s]=this.shape[s])})),new rg({...this._def,shape:()=>t})}omit(e){const t={};return $m.objectKeys(this.shape).forEach((s=>{e[s]||(t[s]=this.shape[s])})),new rg({...this._def,shape:()=>t})}deepPartial(){return ig(this)}partial(e){const t={};return $m.objectKeys(this.shape).forEach((s=>{const n=this.shape[s];e&&!e[s]?t[s]=n:t[s]=n.optional()})),new rg({...this._def,shape:()=>t})}required(e){const t={};return $m.objectKeys(this.shape).forEach((s=>{if(e&&!e[s])t[s]=this.shape[s];else{let e=this.shape[s];for(;e instanceof Sg;)e=e._def.innerType;t[s]=e}})),new rg({...this._def,shape:()=>t})}keyof(){return xg($m.objectKeys(this.shape))}}rg.create=(e,t)=>new rg({shape:()=>e,unknownKeys:"strip",catchall:tg.create(),typeName:Fg.ZodObject,...wf(t)}),rg.strictCreate=(e,t)=>new rg({shape:()=>e,unknownKeys:"strict",catchall:tg.create(),typeName:Fg.ZodObject,...wf(t)}),rg.lazycreate=(e,t)=>
2new rg({shape:e,unknownKeys:"strip",catchall:tg.create(),typeName:Fg.ZodObject,...wf(t)});class ag extends bf{_parse(e){const{ctx:t}=this._processInputParams(e),s=this._def.options;if(t.common.async)return Promise.all(s.map((async e=>{const s={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:s}),ctx:s}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const n of e)if("dirty"===n.result.status)return t.common.issues.push(...n.ctx.common.issues),n.result;const s=e.map((e=>new Xm(e.ctx.common.issues)));return nf(t,{code:Qm.invalid_union,unionErrors:s}),af}));{let e;const n=[];for(const r of s){const s={...t,common:{...t.common,issues:[]},parent:null},i=r._parseSync({data:t.data,path:t.path,parent:s});if("valid"===i.status)return i;"dirty"===i.status&&!e&&(e={result:i,ctx:s}),s.common.issues.length&&n.push(s.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const i=n.map((e=>new Xm(e)));return nf(t,{code:Qm.invalid_union,unionErrors:i}),af}}get options(){return this._def.options}}ag.create=(e,t)=>new ag({options:e,typeName:Fg.ZodUnion,...wf(t)});const og=e=>e instanceof gg?og(e.schema):e instanceof bg?og(e.innerType()):e instanceof yg?[e.value]:e instanceof vg?e.options:e instanceof jg?$m.objectValues(e.enum):e instanceof Ng?og(e._def.innerType):e instanceof Qf?[void 0]:e instanceof Xf?[null]:e instanceof Sg?[void 0,...og(e.unwrap())]:e instanceof kg?[null,...og(e.unwrap())]:e instanceof Cg||e instanceof Eg?og(e.unwrap()):e instanceof Ag?og(e._def.innerType):[];class lg extends bf{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==Ym.object)return nf(t,{code:Qm.invalid_type,expected:Ym.object,received:t.parsedType}),af;const s=this.discriminator,n=t.data[s],i=this.optionsMap.get(n);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(nf(t,{code:Qm.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),af)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,s){const n=new Map;for(const i of t){const t=og(i.shape[e]);if(!t.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const s of t){if(n.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);n.set(s,i)}}return new lg({typeName:Fg.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...wf(s)})}}function cg(e,t){const s=Km(e),n=Km(t);if(e===t)return{valid:!0,data:e};if(s===Ym.object&&n===Ym.object){const s=$m.objectKeys(t),n=$m.objectKeys(e).filter((e=>-1!==s.indexOf(e))),i={...e,...t};for(const r of n){const s=cg(e[r],t[r]);if(!s.valid)return{valid:!1};i[r]=s.data}return{valid:!0,data:i}}if(s===Ym.array&&n===Ym.array){if(e.length!==t.length)return{valid:!1};const s=[];for(let n=0;n<e.length;n++){const i=cg(e[n],t[n]);if(!i.valid)return{valid:!1};s.push(i.data)}return{valid:!0,data:s}}return s===Ym.date&&n===Ym.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class dg extends bf{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=(e,n)=>{if(cf(e)||cf(n))return af;const i=cg(e.value,n.value);return i.valid?((df(e)||df(n))&&t.dirty(),{status:t.value,value:i.data}):(nf(s,{code:Qm.invalid_intersection_types}),af)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then((e=>{let[t,s]=e;return n(t,s)})):n(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}dg.create=(e,t,s)=>new dg({left:e,right:t,typeName:Fg.ZodIntersection,...wf(s)});class ug extends bf{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==Ym.array)return nf(s,{code:Qm.invalid_type,expected:Ym.array,received:s.parsedType}),af;if(s.data.length<this._def.items.length)return nf(s,{code:Qm.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),af;!this._def.rest&&s.data.length>this._def.items.length&&(nf(s,{code:Qm.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const n=[...s.data].map(((e,t)=>{const n=this._def.items[t]||this._def.rest;return n?n._parse(new vf(s,e,s.path,t)):null})).filter((e=>!!e));return s.common.async?Promise.all(n).then((e=>rf.mergeArray(t,e))):rf.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new ug({...this._def,rest:e})}}ug.create=(e,t)=>
2{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ug({items:e,typeName:Fg.ZodTuple,rest:null,...wf(t)})};class hg extends bf{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==Ym.object)return nf(s,{code:Qm.invalid_type,expected:Ym.object,received:s.parsedType}),af;const n=[],i=this._def.keyType,r=this._def.valueType;for(const a in s.data)n.push({key:i._parse(new vf(s,a,s.path,a)),value:r._parse(new vf(s,s.data[a],s.path,a)),alwaysSet:a in s.data});return s.common.async?rf.mergeObjectAsync(t,n):rf.mergeObjectSync(t,n)}get element(){return this._def.valueType}static create(e,t,s){return new hg(t instanceof bf?{keyType:e,valueType:t,typeName:Fg.ZodRecord,...wf(s)}:{keyType:Hf.create(),valueType:e,typeName:Fg.ZodRecord,...wf(t)})}}class pg extends bf{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==Ym.map)return nf(s,{code:Qm.invalid_type,expected:Ym.map,received:s.parsedType}),af;const n=this._def.keyType,i=this._def.valueType,r=[...s.data.entries()].map(((e,t)=>{let[r,a]=e;return{key:n._parse(new vf(s,r,s.path,[t,"key"])),value:i._parse(new vf(s,a,s.path,[t,"value"]))}}));if(s.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const s of r){const n=await s.key,i=await s.value;if("aborted"===n.status||"aborted"===i.status)return af;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const s of r){const n=s.key,i=s.value;if("aborted"===n.status||"aborted"===i.status)return af;("dirty"===n.status||"dirty"===i.status)&&t.dirty(),e.set(n.value,i.value)}return{status:t.value,value:e}}}}pg.create=(e,t,s)=>new pg({valueType:t,keyType:e,typeName:Fg.ZodMap,...wf(s)});class mg extends bf{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==Ym.set)return nf(s,{code:Qm.invalid_type,expected:Ym.set,received:s.parsedType}),af;const n=this._def;null!==n.minSize&&s.data.size<n.minSize.value&&(nf(s,{code:Qm.too_small,minimum:n.minSize.value,type:"set",inclusive:!0,exact:!1,message:n.minSize.message}),t.dirty()),null!==n.maxSize&&s.data.size>n.maxSize.value&&(nf(s,{code:Qm.too_big,maximum:n.maxSize.value,type:"set",inclusive:!0,exact:!1,message:n.maxSize.message}),t.dirty());const i=this._def.valueType;function r(e){const s=new Set;for(const n of e){if("aborted"===n.status)return af;"dirty"===n.status&&t.dirty(),s.add(n.value)}return{status:t.value,value:s}}const a=[...s.data.values()].map(((e,t)=>i._parse(new vf(s,e,s.path,t))));return s.common.async?Promise.all(a).then((e=>r(e))):r(a)}min(e,t){return new mg({...this._def,minSize:{value:e,message:ff.toString(t)}})}max(e,t){return new mg({...this._def,maxSize:{value:e,message:ff.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}mg.create=(e,t)=>new mg({valueType:e,minSize:null,maxSize:null,typeName:Fg.ZodSet,...wf(t)});class fg extends bf{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==Ym.function)return nf(t,{code:Qm.invalid_type,expected:Ym.function,received:t.parsedType}),af;function s(e,s){return sf({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,tf(),Jm].filter((e=>!!e)),issueData:{code:Qm.invalid_arguments,argumentsError:s}})}function n(e,s){return sf({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,tf(),Jm].filter((e=>!!e)),issueData:{code:Qm.invalid_return_type,returnTypeError:s}})}const i={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof wg){const e=this;return lf((async function(){for(var t=arguments.length,a=new Array(t),o=0;o<t;o++)a[o]=arguments[o];const l=new Xm([]),c=await e._def.args.parseAsync(a,i).catch((e=>{throw l.addIssue(s(a,e)),l})),d=await Reflect.apply(r,this,c);return await e._def.returns._def.type.parseAsync(d,i).catch((e=>{throw l.addIssue(n(d,e)),l}))}))}{const e=this;return lf((function(){for(var t=arguments.length,a=new Array(t),o=0;o<t;o++)a[o]=arguments[o];const l=e._def.args.safeParse(a,i);if(!l.success)throw new Xm([s(a,l.error)]);const c=Reflect.apply(r,this,l.data),d=e._def.returns.safeParse(c,i);if(!d.success)throw new Xm([n(c,d.error)]);return d.data}))}}parameters(){return this._def.args}returnType(){return this._def.returns}args(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return new fg({...this._def,args:ug.create(t).rest(eg.create())})}returns(e){return new fg({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}
2static create(e,t,s){return new fg({args:e||ug.create([]).rest(eg.create()),returns:t||eg.create(),typeName:Fg.ZodFunction,...wf(s)})}}class gg extends bf{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}gg.create=(e,t)=>new gg({getter:e,typeName:Fg.ZodLazy,...wf(t)});class yg extends bf{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return nf(t,{received:t.data,code:Qm.invalid_literal,expected:this._def.value}),af}return{status:"valid",value:e.data}}get value(){return this._def.value}}function xg(e,t){return new vg({values:e,typeName:Fg.ZodEnum,...wf(t)})}yg.create=(e,t)=>new yg({value:e,typeName:Fg.ZodLiteral,...wf(t)});class vg extends bf{constructor(){super(...arguments),yf.set(this,void 0)}_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),s=this._def.values;return nf(t,{expected:$m.joinValues(s),received:t.parsedType,code:Qm.invalid_type}),af}if(pf(this,yf)||mf(this,yf,new Set(this._def.values)),!pf(this,yf).has(e.data)){const t=this._getOrReturnCtx(e),s=this._def.values;return nf(t,{received:t.data,code:Qm.invalid_enum_value,options:s}),af}return lf(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._def;return vg.create(e,{...this._def,...t})}exclude(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._def;return vg.create(this.options.filter((t=>!e.includes(t))),{...this._def,...t})}}yf=new WeakMap,vg.create=xg;class jg extends bf{constructor(){super(...arguments),xf.set(this,void 0)}_parse(e){const t=$m.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==Ym.string&&s.parsedType!==Ym.number){const e=$m.objectValues(t);return nf(s,{expected:$m.joinValues(e),received:s.parsedType,code:Qm.invalid_type}),af}if(pf(this,xf)||mf(this,xf,new Set($m.getValidEnumValues(this._def.values))),!pf(this,xf).has(e.data)){const e=$m.objectValues(t);return nf(s,{received:s.data,code:Qm.invalid_enum_value,options:e}),af}return lf(e.data)}get enum(){return this._def.values}}xf=new WeakMap,jg.create=(e,t)=>new jg({values:e,typeName:Fg.ZodNativeEnum,...wf(t)});class wg extends bf{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==Ym.promise&&!1===t.common.async)return nf(t,{code:Qm.invalid_type,expected:Ym.promise,received:t.parsedType}),af;const s=t.parsedType===Ym.promise?t.data:Promise.resolve(t.data);return lf(s.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}wg.create=(e,t)=>new wg({type:e,typeName:Fg.ZodPromise,...wf(t)});class bg extends bf{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Fg.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:s}=this._processInputParams(e),n=this._def.effect||null,i={addIssue:e=>{nf(s,e),e.fatal?t.abort():t.dirty()},get path(){return s.path}};if(i.addIssue=i.addIssue.bind(i),"preprocess"===n.type){const e=n.transform(s.data,i);if(s.common.async)return Promise.resolve(e).then((async e=>{if("aborted"===t.value)return af;const n=await this._def.schema._parseAsync({data:e,path:s.path,parent:s});return"aborted"===n.status?af:"dirty"===n.status||"dirty"===t.value?of(n.value):n}));{if("aborted"===t.value)return af;const n=this._def.schema._parseSync({data:e,path:s.path,parent:s});return"aborted"===n.status?af:"dirty"===n.status||"dirty"===t.value?of(n.value):n}}if("refinement"===n.type){const e=e=>{const t=n.refinement(e,i);if(s.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===s.common.async){const n=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return"aborted"===n.status?af:("dirty"===n.status&&t.dirty(),e(n.value),{status:t.value,value:n.value})}return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then((s=>"aborted"===s.status?af:("dirty"===s.status&&t.dirty(),e(s.value).then((()=>({status:t.value,value:s.value}))))))}if("transform"===n.type){if(!1===s.common.async){const e=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!uf(e))return e;const r=n.transform(e.value,i);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then((e=>uf(e)?Promise.resolve(n.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}$m.assertNever(n)}}bg.create=(e,t,s)=>new bg({schema:e,typeName:Fg.ZodEffects,effect:t,...wf(s)}),bg.createWithPreprocess=(e,t,s)=>new bg({schema:t,effect:{type:"preprocess",transform:e},typeName:Fg.ZodEffects,...wf(s)});class Sg extends bf{_parse(e){return this._getType(e)===Ym.undefined?lf(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Sg.create=(e,t)=>
2new Sg({innerType:e,typeName:Fg.ZodOptional,...wf(t)});class kg extends bf{_parse(e){return this._getType(e)===Ym.null?lf(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}kg.create=(e,t)=>new kg({innerType:e,typeName:Fg.ZodNullable,...wf(t)});class Ng extends bf{_parse(e){const{ctx:t}=this._processInputParams(e);let s=t.data;return t.parsedType===Ym.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Ng.create=(e,t)=>new Ng({innerType:e,typeName:Fg.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...wf(t)});class Ag extends bf{_parse(e){const{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},n=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return hf(n)?n.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new Xm(s.common.issues)},input:s.data})}))):{status:"valid",value:"valid"===n.status?n.value:this._def.catchValue({get error(){return new Xm(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}Ag.create=(e,t)=>new Ag({innerType:e,typeName:Fg.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...wf(t)});class _g extends bf{_parse(e){if(this._getType(e)!==Ym.nan){const t=this._getOrReturnCtx(e);return nf(t,{code:Qm.invalid_type,expected:Ym.nan,received:t.parsedType}),af}return{status:"valid",value:e.data}}}_g.create=e=>new _g({typeName:Fg.ZodNaN,...wf(e)});const Mg=Symbol("zod_brand");class Cg extends bf{_parse(e){const{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}}class Tg extends bf{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const e=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return"aborted"===e.status?af:"dirty"===e.status?(t.dirty(),of(e.value)):this._def.out._parseAsync({data:e.value,path:s.path,parent:s})})();{const e=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return"aborted"===e.status?af:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:s.path,parent:s})}}static create(e,t){return new Tg({in:e,out:t,typeName:Fg.ZodPipeline})}}class Eg extends bf{_parse(e){const t=this._def.innerType._parse(e),s=e=>(uf(e)&&(e.value=Object.freeze(e.value)),e);return hf(t)?t.then((e=>s(e))):s(t)}unwrap(){return this._def.innerType}}function Ig(e,t){const s="function"==typeof e?e(t):"string"==typeof e?{message:e}:e;return"string"==typeof s?{message:s}:s}function Pg(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;return e?Jf.create().superRefine(((n,i)=>{var r,a;const o=e(n);if(o instanceof Promise)return o.then((e=>{var r,a;if(!e){const e=Ig(t,n),o=null===(a=null!==(r=e.fatal)&&void 0!==r?r:s)||void 0===a||a;i.addIssue({code:"custom",...e,fatal:o})}}));if(!o){const e=Ig(t,n),o=null===(a=null!==(r=e.fatal)&&void 0!==r?r:s)||void 0===a||a;i.addIssue({code:"custom",...e,fatal:o})}})):Jf.create()}Eg.create=(e,t)=>new Eg({innerType:e,typeName:Fg.ZodReadonly,...wf(t)});const Dg={object:rg.lazycreate};var Fg,Og;(Og=Fg||(Fg={})).ZodString="ZodString",Og.ZodNumber="ZodNumber",Og.ZodNaN="ZodNaN",Og.ZodBigInt="ZodBigInt",Og.ZodBoolean="ZodBoolean",Og.ZodDate="ZodDate",Og.ZodSymbol="ZodSymbol",Og.ZodUndefined="ZodUndefined",Og.ZodNull="ZodNull",Og.ZodAny="ZodAny",Og.ZodUnknown="ZodUnknown",Og.ZodNever="ZodNever",Og.ZodVoid="ZodVoid",Og.ZodArray="ZodArray",Og.ZodObject="ZodObject",Og.ZodUnion="ZodUnion",Og.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Og.ZodIntersection="ZodIntersection",Og.ZodTuple="ZodTuple",Og.ZodRecord="ZodRecord",Og.ZodMap="ZodMap",Og.ZodSet="ZodSet",Og.ZodFunction="ZodFunction",Og.ZodLazy="ZodLazy",Og.ZodLiteral="ZodLiteral",Og.ZodEnum="ZodEnum",Og.ZodEffects="ZodEffects",Og.ZodNativeEnum="ZodNativeEnum",Og.ZodOptional="ZodOptional",Og.ZodNullable="ZodNullable",Og.ZodDefault="ZodDefault",Og.ZodCatch="ZodCatch",Og.ZodPromise="ZodPromise",Og.ZodBranded="ZodBranded",Og.ZodPipeline="ZodPipeline",Og.ZodReadonly="ZodReadonly";const Rg=Hf.create,Lg=$f.create,qg=_g.create,zg=Gf.create,Ug=Vf.create,Bg=Yf.create,Wg=Kf.create,Hg=Qf.create,Zg=Xf.create,$g=Jf.create,Gg=eg.create,Vg=tg.create,Yg=sg.create,Kg=ng.create,Qg=rg.create,Xg=rg.strictCreate,Jg=ag.create,ey=lg.create,ty=dg.create,sy=ug.create,ny=hg.create,iy=pg.create,ry=mg.create,ay=fg.create,oy=gg.create,ly=yg.create,cy=vg.create,dy=jg.create,uy=wg.create,hy=bg.create,py=Sg.create,my=kg.create,fy=bg.createWithPreprocess,gy=Tg.create,yy={string:e=>Hf.create({...e,coerce:!0}),number:e=>$f.create({...e,coerce:!0}),boolean:e=>Vf.create({...e,coerce:!0}),bigint:e=>Gf.create({...e,coerce:!0}),date:e=>Yf.create({...e,coerce:!0})},xy=af;var vy=Object.freeze({__proto__:null,defaultErrorMap:Jm,setErrorMap:function(e){ef=e},getErrorMap:tf,makeIssue:sf,EMPTY_PATH:[],addIssueToContext:nf,ParseStatus:rf,INVA
2LID:af,DIRTY:of,OK:lf,isAborted:cf,isDirty:df,isValid:uf,isAsync:hf,get util(){return $m},get objectUtil(){return Vm},ZodParsedType:Ym,getParsedType:Km,ZodType:bf,datetimeRegex:Uf,ZodString:Hf,ZodNumber:$f,ZodBigInt:Gf,ZodBoolean:Vf,ZodDate:Yf,ZodSymbol:Kf,ZodUndefined:Qf,ZodNull:Xf,ZodAny:Jf,ZodUnknown:eg,ZodNever:tg,ZodVoid:sg,ZodArray:ng,ZodObject:rg,ZodUnion:ag,ZodDiscriminatedUnion:lg,ZodIntersection:dg,ZodTuple:ug,ZodRecord:hg,ZodMap:pg,ZodSet:mg,ZodFunction:fg,ZodLazy:gg,ZodLiteral:yg,ZodEnum:vg,ZodNativeEnum:jg,ZodPromise:wg,ZodEffects:bg,ZodTransformer:bg,ZodOptional:Sg,ZodNullable:kg,ZodDefault:Ng,ZodCatch:Ag,ZodNaN:_g,BRAND:Mg,ZodBranded:Cg,ZodPipeline:Tg,ZodReadonly:Eg,custom:Pg,Schema:bf,ZodSchema:bf,late:Dg,get ZodFirstPartyTypeKind(){return Fg},coerce:yy,any:$g,array:Kg,bigint:zg,boolean:Ug,date:Bg,discriminatedUnion:ey,effect:hy,enum:cy,function:ay,instanceof:function(e){return Pg((t=>t instanceof e),arguments.length>1&&void 0!==arguments[1]?arguments[1]:{message:`Input not instance of ${e.name}`})},intersection:ty,lazy:oy,literal:ly,map:iy,nan:qg,nativeEnum:dy,never:Vg,null:Zg,nullable:my,number:Lg,object:Qg,oboolean:()=>Ug().optional(),onumber:()=>Lg().optional(),optional:py,ostring:()=>Rg().optional(),pipeline:gy,preprocess:fy,promise:uy,record:ny,set:ry,strictObject:Xg,string:Rg,symbol:Wg,transformer:hy,tuple:sy,undefined:Hg,union:Jg,unknown:Gg,void:Yg,NEVER:xy,ZodIssueCode:Qm,quotelessJson:e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError:Xm});vy.object({}),vy.object({sessionId:vy.string().optional(),appName:vy.string().describe('The name of the application, e.g. "VS Code" or "Cursor"'),displayName:vy.string().describe("Human-readable window identifier for UI display"),port:vy.number().describe("Port number this VS Code instance is running on")}),vy.object({}),vy.object({sessionId:vy.string().optional(),prompt:vy.string(),model:vy.string().optional().describe("The model to use for the agent prompt"),files:vy.array(vy.string()).optional().describe("Link project files to the agent prompt"),mode:vy.enum(["agent","ask","manual"]).optional().describe("The mode to use for the agent prompt"),images:vy.array(vy.string()).optional().describe("Upload files like images, videos, etc.")}),vy.object({sessionId:vy.string().optional(),result:vy.object({success:vy.boolean(),error:vy.string().optional(),errorCode:vy.enum(["session_mismatch"]).optional(),output:vy.string().optional()})}),vy.object({sessionId:vy.string().optional(),updateText:vy.string()});bp({windows:[],isDiscovering:!1,discoveryError:null,selectedSession:void 0,shouldPromptWindowSelection:!1,setShouldPromptWindowSelection:()=>{},discover:async()=>{},selectSession:()=>{},refreshSession:async()=>{},appName:void 0});bp({bridge:null,isConnecting:!1,error:null});bp({config:void 0});bp({plugins:[],toolbarContext:{sendPrompt:()=>{}}});function jy(e){var t,s,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(s=jy(e[t]))&&(n&&(n+=" "),n+=s)}else for(s in e)e[s]&&(n&&(n+=" "),n+=s);return n}const wy=e=>{const t=Ny(e),{conflictingClassGroups:s,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{const s=e.split("-");return""===s[0]&&1!==s.length&&s.shift(),by(s,t)||ky(e)},getConflictingClassGroupIds:(e,t)=>{const i=s[e]||[];return t&&n[e]?[...i,...n[e]]:i}}},by=(e,t)=>{var s;if(0===e.length)return t.classGroupId;const n=e[0],i=t.nextPart.get(n),r=i?by(e.slice(1),i):void 0;if(r)return r;if(0===t.validators.length)return;const a=e.join("-");return null==(s=t.validators.find((e=>{let{validator:t}=e;return t(a)})))?void 0:s.classGroupId},Sy=/^\[(.+)\]$/,ky=e=>{if(Sy.test(e)){const t=Sy.exec(e)[1],s=null==t?void 0:t.substring(0,t.indexOf(":"));if(s)return"arbitrary.."+s}},Ny=e=>{const{theme:t,classGroups:s}=e,n={nextPart:new Map,validators:[]};for(const i in s)Ay(s[i],n,i,t);return n},Ay=(e,t,s,n)=>{e.forEach((e=>{if("string"!=typeof e){if("function"==typeof e)return My(e)?void Ay(e(n),t,s,n):void t.validators.push({validator:e,classGroupId:s});Object.entries(e).forEach((e=>{let[i,r]=e;Ay(r,_y(t,i),s,n)}))}else{(""===e?t:_y(t,e)).classGroupId=s}}))},_y=(e,t)=>{let s=e;return t.split("-").forEach((e=>{s.nextPart.has(e)||s.nextPart.set(e,{nextPart:new Map,validators:[]}),s=s.nextPart.get(e)})),s},My=e=>e.isThemeGetter,Cy=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,s=new Map,n=new Map;const i=(i,r)=>{s.set(i,r),t++,t>e&&(t=0,n=s,s=new Map)};return{get(e){let t=s.get(e);return void 0!==t?t:void 0!==(t=n.get(e))?(i(e,t),t):void 0},set(e,t){s.has(e)?s.set(e,t):i(e,t)}}},Ty=e=>{const{prefix:t,experimentalParseClassName:s}=e;let n=e=>{const t=[];let s,n=0,i=0,r=0;for(let l=0;l<e.length;l++){let a=e[l];
2if(0===n&&0===i){if(":"===a){t.push(e.slice(r,l)),r=l+1;continue}if("/"===a){s=l;continue}}"["===a?n++:"]"===a?n--:"("===a?i++:")"===a&&i--}const a=0===t.length?e:e.substring(r),o=Ey(a);return{modifiers:t,hasImportantModifier:o!==a,baseClassName:o,maybePostfixModifierPosition:s&&s>r?s-r:void 0}};if(t){const e=t+":",s=n;n=t=>t.startsWith(e)?s(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(s){const e=n;n=t=>s({className:t,parseClassName:e})}return n},Ey=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,Iy=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map((e=>[e,!0])));return e=>{if(e.length<=1)return e;const s=[];let n=[];return e.forEach((e=>{"["===e[0]||t[e]?(s.push(...n.sort(),e),n=[]):n.push(e)})),s.push(...n.sort()),s}},Py=/\s+/;function Dy(){let e,t,s=0,n="";for(;s<arguments.length;)(e=arguments[s++])&&(t=Fy(e))&&(n&&(n+=" "),n+=t);return n}const Fy=e=>{if("string"==typeof e)return e;let t,s="";for(let n=0;n<e.length;n++)e[n]&&(t=Fy(e[n]))&&(s&&(s+=" "),s+=t);return s};function Oy(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n<t;n++)s[n-1]=arguments[n];let i,r,a,o=function(t){const n=s.reduce(((e,t)=>t(e)),e());return i=(e=>({cache:Cy(e.cacheSize),parseClassName:Ty(e),sortModifiers:Iy(e),...wy(e)}))(n),r=i.cache.get,a=i.cache.set,o=l,l(t)};function l(e){const t=r(e);if(t)return t;const s=((e,t)=>{const{parseClassName:s,getClassGroupId:n,getConflictingClassGroupIds:i,sortModifiers:r}=t,a=[],o=e.trim().split(Py);let l="";for(let c=o.length-1;c>=0;c-=1){const e=o[c],{isExternal:t,modifiers:d,hasImportantModifier:u,baseClassName:h,maybePostfixModifierPosition:p}=s(e);if(t){l=e+(l.length>0?" "+l:l);continue}let m=!!p,f=n(m?h.substring(0,p):h);if(!f){if(!m){l=e+(l.length>0?" "+l:l);continue}if(f=n(h),!f){l=e+(l.length>0?" "+l:l);continue}m=!1}const g=r(d).join(":"),y=u?g+"!":g,x=y+f;if(a.includes(x))continue;a.push(x);const v=i(f,m);for(let s=0;s<v.length;++s){const e=v[s];a.push(y+e)}l=e+(l.length>0?" "+l:l)}return l})(e,i);return a(e,s),s}return function(){return o(Dy.apply(null,arguments))}}const Ry=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},Ly=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,qy=/^\((?:(\w[\w-]*):)?(.+)\)$/i,zy=/^\d+\/\d+$/,Uy=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,By=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Wy=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Hy=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Zy=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,$y=e=>zy.test(e),Gy=e=>!!e&&!Number.isNaN(Number(e)),Vy=e=>!!e&&Number.isInteger(Number(e)),Yy=e=>e.endsWith("%")&&Gy(e.slice(0,-1)),Ky=e=>Uy.test(e),Qy=()=>!0,Xy=e=>By.test(e)&&!Wy.test(e),Jy=()=>!1,ex=e=>Hy.test(e),tx=e=>Zy.test(e),sx=e=>!ix(e)&&!dx(e),nx=e=>yx(e,wx,Jy),ix=e=>Ly.test(e),rx=e=>yx(e,bx,Xy),ax=e=>yx(e,Sx,Gy),ox=e=>yx(e,vx,Jy),lx=e=>yx(e,jx,tx),cx=e=>yx(e,Nx,ex),dx=e=>qy.test(e),ux=e=>xx(e,bx),hx=e=>xx(e,kx),px=e=>xx(e,vx),mx=e=>xx(e,wx),fx=e=>xx(e,jx),gx=e=>xx(e,Nx,!0),yx=(e,t,s)=>{const n=Ly.exec(e);return!!n&&(n[1]?t(n[1]):s(n[2]))},xx=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=qy.exec(e);return!!n&&(n[1]?t(n[1]):s)},vx=e=>"position"===e||"percentage"===e,jx=e=>"image"===e||"url"===e,wx=e=>"length"===e||"size"===e||"bg-size"===e,bx=e=>"length"===e,Sx=e=>"number"===e,kx=e=>"family-name"===e,Nx=e=>"shadow"===e,Ax=()=>{const e=Ry("color"),t=Ry("font"),s=Ry("text"),n=Ry("font-weight"),i=Ry("tracking"),r=Ry("leading"),a=Ry("breakpoint"),o=Ry("container"),l=Ry("spacing"),c=Ry("radius"),d=Ry("shadow"),u=Ry("inset-shadow"),h=Ry("text-shadow"),p=Ry("drop-shadow"),m=Ry("blur"),f=Ry("perspective"),g=Ry("aspect"),y=Ry("ease"),x=Ry("animate"),v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",dx,ix],j=()=>[dx,ix,l],w=()=>[$y,"full","auto",...j()],b=()=>[Vy,"none","subgrid",dx,ix],S=()=>["auto",{span:["full",Vy,dx,ix]},Vy,dx,ix],k=()=>[Vy,"auto",dx,ix],N=()=>["auto","min","max","fr",dx,ix],A=()=>["auto",...j()],_=()=>[$y,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],M=()=>[e,dx,ix],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom",px,ox,{position:[dx,ix]}],T=()=>["auto","cover","contain",mx,nx,{size:[dx,ix]}],E=()=>[Yy,ux,rx],I=()=>["","none","full",c,dx,ix],P=()=>["",Gy,ux,rx],D=()=>[Gy,Yy,px,ox],F=()=>["","none",m,dx,ix],O=()=>["none",Gy,dx,ix],R=()=>["none",Gy,dx,ix],L=()=>[Gy,dx,ix],q=()=>[$y,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ky],breakpoint:[Ky],color:[Qy],container:[Ky],"drop-shadow":[Ky],ease:["in","out","in-out"],font:[sx],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ky],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ky],shadow:[Ky],spacing:["px",Gy],text:[Ky],"text-shadow":[Ky],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",$y,ix,dx,g]}
vendor: 5,332 bytes, line 2
2],container:["container"],columns:[{columns:[Gy,ix,dx,o]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:v()}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:w()}],"inset-x":[{"inset-x":w()}],"inset-y":[{"inset-y":w()}],start:[{start:w()}],end:[{end:w()}],top:[{top:w()}],right:[{right:w()}],bottom:[{bottom:w()}],left:[{left:w()}],visibility:["visible","invisible","collapse"],z:[{z:[Vy,"auto",dx,ix]}],basis:[{basis:[$y,"full","auto",o,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Gy,$y,"auto","initial","none",ix]}],grow:[{grow:["",Gy,dx,ix]}],shrink:[{shrink:["",Gy,dx,ix]}],order:[{order:[Vy,"first","last","none",dx,ix]}],"grid-cols":[{"grid-cols":b()}],"col-start-end":[{col:S()}],"col-start":[{"col-start":k()}],"col-end":[{"col-end":k()}],"grid-rows":[{"grid-rows":b()}],"row-start-end":[{row:S()}],"row-start":[{"row-start":k()}],"row-end":[{"row-end":k()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":N()}],"auto-rows":[{"auto-rows":N()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe","normal"]}],"justify-items":[{"justify-items":["start","end","center","stretch","center-safe","end-safe","normal"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"align-items":[{items:["start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"align-self":[{self:["auto","start","end","center","stretch","center-safe","end-safe",{baseline:["","last"]}]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"]}],"place-items":[{"place-items":["start","end","center","stretch","center-safe","end-safe","baseline"]}],"place-self":[{"place-self":["auto","start","end","center","stretch","center-safe","end-safe"]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:A()}],mx:[{mx:A()}],my:[{my:A()}],ms:[{ms:A()}],me:[{me:A()}],mt:[{mt:A()}],mr:[{mr:A()}],mb:[{mb:A()}],ml:[{ml:A()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:_()}],w:[{w:[o,"screen",..._()]}],"min-w":[{"min-w":[o,"screen","none",..._()]}],"max-w":[{"max-w":[o,"screen","none","prose",{screen:[a]},..._()]}],h:[{h:["screen",..._()]}],"min-h":[{"min-h":["screen","none",..._()]}],"max-h":[{"max-h":["screen",..._()]}],"font-size":[{text:["base",s,ux,rx]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,dx,ax]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Yy,ix]}],"font-family":[{font:[hx,ix,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,dx,ix]}],"line-clamp":[{"line-clamp":[Gy,"none",dx,ax]}],leading:[{leading:[r,...j()]}],"list-image":[{"list-image":["none",dx,ix]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",dx,ix]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","
2wavy"]}],"text-decoration-thickness":[{decoration:[Gy,"from-font","auto",dx,rx]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[Gy,"auto",dx,ix]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",dx,ix]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",dx,ix]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:C()}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","space","round"]}]}],"bg-size":[{bg:T()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Vy,dx,ix],radial:["",dx,ix],conic:[Vy,dx,ix]},fx,lx]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:E()}],"gradient-via-pos":[{via:E()}],"gradient-to-pos":[{to:E()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:P()}],"border-w-x":[{"border-x":P()}],"border-w-y":[{"border-y":P()}],"border-w-s":[{"border-s":P()}],"border-w-e":[{"border-e":P()}],"border-w-t":[{"border-t":P()}],"border-w-r":[{"border-r":P()}],"border-w-b":[{"border-b":P()}],"border-w-l":[{"border-l":P()}],"divide-x":[{"divide-x":P()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":P()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:["solid","dashed","dotted","double","hidden","none"]}],"divide-style":[{divide:["solid","dashed","dotted","double","hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}
vendor: 4,110 bytes, line 2
2],"divide-color":[{divide:M()}],"outline-style":[{outline:["solid","dashed","dotted","double","none","hidden"]}],"outline-offset":[{"outline-offset":[Gy,dx,ix]}],"outline-w":[{outline:["",Gy,ux,rx]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",d,gx,cx]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",u,gx,cx]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:P()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[Gy,rx]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":P()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",h,gx,cx]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[Gy,dx,ix]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Gy]}],"mask-image-linear-from-pos":[{"mask-linear-from":D()}],"mask-image-linear-to-pos":[{"mask-linear-to":D()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":D()}],"mask-image-t-to-pos":[{"mask-t-to":D()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":D()}],"mask-image-r-to-pos":[{"mask-r-to":D()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":D()}],"mask-image-b-to-pos":[{"mask-b-to":D()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":D()}],"mask-image-l-to-pos":[{"mask-l-to":D()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":D()}],"mask-image-x-to-pos":[{"mask-x-to":D()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":D()}],"mask-image-y-to-pos":[{"mask-y-to":D()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[dx,ix]}],"mask-image-radial-from-pos":[{"mask-radial-from":D()}],"mask-image-radial-to-pos":[{"mask-radial-to":D()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"]}],"mask-image-conic-pos":[{"mask-conic":[Gy]}],"mask-image-conic-from-pos":[{"mask-conic-from":D()}],"mask-image-conic-to-pos":[{"mask-conic-to":D()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:C()}],"mask-repeat":[{mask:["no-repeat",{repeat:["","x","y","space","round"]}]}],"mask-size":[{mask:T()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",dx,ix]}],filter:[{filter:["","none",dx,ix]}],blur:[{blur:F()}],brightness:[{brightness:[Gy,dx,ix]}],contrast:[{contrast:[Gy,dx,ix]}],"drop-shadow":[{"drop-shadow":["","none",p,gx,cx]}
2],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",Gy,dx,ix]}],"hue-rotate":[{"hue-rotate":[Gy,dx,ix]}],invert:[{invert:["",Gy,dx,ix]}],saturate:[{saturate:[Gy,dx,ix]}],sepia:[{sepia:["",Gy,dx,ix]}],"backdrop-filter":[{"backdrop-filter":["","none",dx,ix]}],"backdrop-blur":[{"backdrop-blur":F()}],"backdrop-brightness":[{"backdrop-brightness":[Gy,dx,ix]}],"backdrop-contrast":[{"backdrop-contrast":[Gy,dx,ix]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Gy,dx,ix]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Gy,dx,ix]}],"backdrop-invert":[{"backdrop-invert":["",Gy,dx,ix]}],"backdrop-opacity":[{"backdrop-opacity":[Gy,dx,ix]}],"backdrop-saturate":[{"backdrop-saturate":[Gy,dx,ix]}],"backdrop-sepia":[{"backdrop-sepia":["",Gy,dx,ix]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",dx,ix]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Gy,"initial",dx,ix]}],ease:[{ease:["linear","initial",y,dx,ix]}],delay:[{delay:[Gy,dx,ix]}],animate:[{animate:["none",x,dx,ix]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[f,dx,ix]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:O()}],"rotate-x":[{"rotate-x":O()}],"rotate-y":[{"rotate-y":O()}],"rotate-z":[{"rotate-z":O()}],scale:[{scale:R()}],"scale-x":[{"scale-x":R()}],"scale-y":[{"scale-y":R()}],"scale-z":[{"scale-z":R()}],"scale-3d":["scale-3d"],skew:[{skew:L()}],"skew-x":[{"skew-x":L()}],"skew-y":[{"skew-y":L()}],transform:[{transform:[dx,ix,"","none","gpu","cpu"]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:q()}],"translate-x":[{"translate-x":q()}],"translate-y":[{"translate-y":q()}],"translate-z":[{"translate-z":q()}],"translate-none":["translate-none"],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",dx,ix]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",dx,ix]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[Gy,ux,rx,ax]}],stroke:[{stroke:["none",...M()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},_x=(e,t,s)=>{void 0!==s&&(e[t]=s)},Mx=(e,t)=>{if(t)for(const s in t)_x(e,s,t[s])},Cx=(e,t)=>{if(t)for(const s in t)Tx(e,t,s)},Tx=(e,t,s)=>{const n=t[s];void 0!==n&&(e[s]=e[s]?e[s].concat(n):n)};const Ex=function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n<t;n++)s[n-1]=arguments[n];return"function"==typeof e?Oy(Ax,e,...s):Oy((()=>((e,t)=>{let{cacheSize:s,prefix:n,experimentalParseClassName:i,extend:r={},override:a={}}=t;return _x(e,"cacheSize",s),_x(e,"prefix",n),_x(e,"experimentalParseClassName",i),Mx(e.theme,a.theme),Mx(e.classGroups,a.classGroups),Mx(e.conflictingClassGroups,a.conflictingClassGroups),Mx(e.conflictingClassGroupModifiers,a.conflictingClassGroupModifiers),_x(e,"orderSensitiveModifiers",a.orderSensitiveModifiers),Cx(e.theme,r.theme),Cx(e.classGroups,r.classGroups),Cx(e.conflictingClassGroups,r.conflictingClassGroups),Cx(e.conflictingClassGroupModifiers,r.conflictingClassGroupModifiers),Tx(e,r,"orderSensitiveModifiers"),e})(Ax(),e)),...s)}({extend:{classGroups:{"bg-image":["bg-gradient","bg-gradient-light-1","bg-gradient-light-2","bg-gradient-light-3"]}}});function Ix(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return Ex(function(){for(var e,t,s=0,n="",i=arguments.length;s<i;s++)(e=arguments[s])&&(t=jy(e))&&(n&&(n+=" "),n+=t);return n}(t))}function Px(e){let{children:t,alwaysFullHeight:s=!1}=e;return kp("section",{className:Ix("flex max-h-full min-h-48 flex-col items-stretch justify-start rounded-2xl border border-border/30 bg-zinc-50/80 p-4 shadow-md backdrop-blur-md",s&&"h-full"),children:t})}Px.Header=function(e){let{title:t,description:s}=e;return kp("header",{className:"mb-3 flex flex-col gap-1 text-zinc-950",children:[t&&kp("h3",{className:"font-semibold text-lg ",children:t}),s&&kp("p",{className:"font-medium text-zinc-600",children:s})]})},Px.Content=function(e){let{children:t}=e;return kp("div",{className:"-mx-4 flex flex-col gap-2 overflow-y-auto border-border/30 border-t px-4 pt-4 text-zinc-950",children:t})},Px.Footer=function(e){let{children:t}=e;return kp("footer",{className:"flex flex-row items-end justify-end gap-2 text-sm text-zinc-600",children:t})};bp(null);bp({chats:[],currentChatId:null,createChat:()=>"",deleteChat:()=>{},setCurrentChat:()=>{},setChatInput:()=>{},addChatDomContext:()=>{},removeChatDomContext:()=>{},addMessage:()=>{},chatAreaState:"hidden",setChatAreaState:()=>{},isPromptCreationActive:!1,startPromptCreation:()=>{},stopPromptCreation:()=>{},promptState:"idle",resetPromptState:()=>{}});const Dx=typeof document<"u"?Zm.useLayoutEffect:()=>{};const Fx=e=>{var t;return null!==(t=null==e?void 0:e.ownerDocument)&&void 0!==t?t:document},Ox=e=>e&&"window"in e&&e.window===e?e:Fx(e).defaultView||window;function Rx(e,t){return!(!t||!e)&&e.contains(t)}const Lx=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;return e.activeElement};function qx(e){return e.target}function zx(e){var t;return!(typeof window>"u"||null==window.navigator)&&((null===(t=window.navigator.userAgentData)||void 0===t?void 0:t.brands.some((t=>e.test(t.brand))))||e.test(window.navigator.userAgent))}function Ux(e){var t;return typeof window<"u"&&null!=window.navigator&&e.test((null===(t=window.navigator.userAgentData)||void 0===t?void 0:t.platform)||window.navigator.platform)}function Bx(e){let t=null;return()=>(null==t&&(t=e()),t)}const Wx=Bx((function(){return Ux(/^Mac/i)})),Hx=Bx((function(){return Ux(/^iPhone/i)})),Zx=Bx((function(){return Ux(/^iPad/i)||Wx()&&navigator.maxTouchPoints>1})),$x=Bx((function(){return Hx()||Zx()}));Bx((function(){return Wx()||$x()}
2)),Bx((function(){return zx(/AppleWebKit/i)&&!Gx()}));const Gx=Bx((function(){return zx(/Chrome/i)})),Vx=Bx((function(){return zx(/Android/i)}));function Yx(){let e=Wp(new Map),t=$p(((t,s,n,i)=>{let r=null!=i&&i.once?function(){e.current.delete(n),n(...arguments)}:n;e.current.set(n,{type:s,eventTarget:t,fn:r,options:i}),t.addEventListener(s,r,i)}),[]),s=$p(((t,s,n,i)=>{var r;let a=(null===(r=e.current.get(n))||void 0===r?void 0:r.fn)||n;t.removeEventListener(s,a,i),e.current.delete(n)}),[]),n=$p((()=>{e.current.forEach(((e,t)=>{s(e.eventTarget,e.type,t,e.options)}))}),[s]);return Up((()=>n),[n]),{addGlobalListener:t,removeGlobalListener:s,removeAllGlobalListeners:n}}function Kx(e){let t=e;return t.nativeEvent=e,t.isDefaultPrevented=()=>t.defaultPrevented,t.isPropagationStopped=()=>t.cancelBubble,t.persist=()=>{},t}function Qx(e){let t=Wp({isFocused:!1,observer:null});Dx((()=>{const e=t.current;return()=>{e.observer&&(e.observer.disconnect(),e.observer=null)}}),[]);let s=function(e){const t=Wp(null);return Dx((()=>{t.current=e}),[e]),$p((function(){const e=t.current;return null==e?void 0:e(...arguments)}),[])}((t=>{null==e||e(t)}));return $p((e=>{if(e.target instanceof HTMLButtonElement||e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLSelectElement){t.current.isFocused=!0;let n=e.target,i=e=>{if(t.current.isFocused=!1,n.disabled){let t=Kx(e);s(t)}t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)};n.addEventListener("focusout",i,{once:!0}),t.current.observer=new MutationObserver((()=>{if(t.current.isFocused&&n.disabled){var e;null===(e=t.current.observer)||void 0===e||e.disconnect();let s=n===document.activeElement?null:document.activeElement;n.dispatchEvent(new FocusEvent("blur",{relatedTarget:s})),n.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:s}))}})),t.current.observer.observe(n,{attributes:!0,attributeFilter:["disabled"]})}}),[s])}Bx((function(){return zx(/Firefox/i)}));let Xx=null,Jx=new Set,ev=new Map,tv=!1,sv=!1;const nv={Tab:!0,Escape:!0};function iv(e,t){for(let s of Jx)s(e,t)}function rv(e){tv=!0,function(e){return!(e.metaKey||!Wx()&&e.altKey||e.ctrlKey||"Control"===e.key||"Shift"===e.key||"Meta"===e.key)}(e)&&(Xx="keyboard",iv("keyboard",e))}
2function av(e){Xx="pointer",("mousedown"===e.type||"pointerdown"===e.type)&&(tv=!0,iv("pointer",e))}function ov(e){var t;(0===(t=e).mozInputSource&&t.isTrusted||(Vx()&&t.pointerType?"click"===t.type&&1===t.buttons:0===t.detail&&!t.pointerType))&&(tv=!0,Xx="virtual")}function lv(e){e.target===window||e.target===document||!e.isTrusted||(!tv&&!sv&&(Xx="virtual",iv("virtual",e)),tv=!1,sv=!1)}function cv(){tv=!1,sv=!0}function dv(e){if(typeof window>"u"||ev.get(Ox(e)))return;const t=Ox(e),s=Fx(e);let n=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(){tv=!0,n.apply(this,arguments)},s.addEventListener("keydown",rv,!0),s.addEventListener("keyup",rv,!0),s.addEventListener("click",ov,!0),t.addEventListener("focus",lv,!0),t.addEventListener("blur",cv,!1),typeof PointerEvent<"u"&&(s.addEventListener("pointerdown",av,!0),s.addEventListener("pointermove",av,!0),s.addEventListener("pointerup",av,!0)),t.addEventListener("beforeunload",(()=>{uv(e)}),{once:!0}),ev.set(t,{focus:n})}const uv=(e,t)=>{const s=Ox(e),n=Fx(e);t&&n.removeEventListener("DOMContentLoaded",t),ev.has(s)&&(s.HTMLElement.prototype.focus=ev.get(s).focus,n.removeEventListener("keydown",rv,!0),n.removeEventListener("keyup",rv,!0),n.removeEventListener("click",ov,!0),s.removeEventListener("focus",lv,!0),s.removeEventListener("blur",cv,!1),typeof PointerEvent<"u"&&(n.removeEventListener("pointerdown",av,!0),n.removeEventListener("pointermove",av,!0),n.removeEventListener("pointerup",av,!0)),ev.delete(s))};function hv(){return"pointer"!==Xx}typeof document<"u"&&function(e){const t=Fx(e);let s;"loading"!==t.readyState?dv(e):(s=()=>{dv(e)},t.addEventListener("DOMContentLoaded",s))}();const pv=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]);function mv(e,t,s){dv(),Up((()=>{let t=(t,n)=>{(function(e,t,s){let n=Fx(null==s?void 0:s.target);const i=typeof window<"u"?Ox(null==s?void 0:s.target).HTMLInputElement:HTMLInputElement,r=typeof window<"u"?Ox(null==s?void 0:s.target).HTMLTextAreaElement:HTMLTextAreaElement,a=typeof window<"u"?Ox(null==s?void 0:s.target).HTMLElement:HTMLElement,o=typeof window<"u"?Ox(null==s?void 0:s.target).KeyboardEvent:KeyboardEvent;return!((e=e||n.activeElement instanceof i&&!pv.has(n.activeElement.type)||n.activeElement instanceof r||n.activeElement instanceof a&&n.activeElement.isContentEditable)&&"keyboard"===t&&s instanceof o&&!nv[s.key])})(!(null==s||!s.isTextInput),t,n)&&e(hv())};return Jx.add(t),()=>{Jx.delete(t)}}),t)}function fv(e){let{isDisabled:t,onBlurWithin:s,onFocusWithin:n,onFocusWithinChange:i}=e,r=Wp({isFocusWithin:!1}),{addGlobalListener:a,removeAllGlobalListeners:o}=Yx(),l=$p((e=>{e.currentTarget.contains(e.target)&&r.current.isFocusWithin&&!e.currentTarget.contains(e.relatedTarget)&&(r.current.isFocusWithin=!1,o(),s&&s(e),i&&i(!1))}),[s,i,r,o]),c=Qx(l),d=$p((e=>{if(!e.currentTarget.contains(e.target))return;const t=Fx(e.target),s=Lx(t);if(!r.current.isFocusWithin&&s===qx(e.nativeEvent)){n&&n(e),i&&i(!0),r.current.isFocusWithin=!0,c(e);let s=e.currentTarget;a(t,"focus",(e=>{if(r.current.isFocusWithin&&!Rx(s,e.target)){let n=new t.defaultView.FocusEvent("blur",{relatedTarget:e.target});!function(e,t){Object.defineProperty(e,"target",{value:t}),Object.defineProperty(e,"currentTarget",{value:t})}(n,s);let i=Kx(n);l(i)}}),{capture:!0})}}),[n,i,c,a,l]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:d,onBlur:l}}}let gv=!1,yv=0;function xv(e){"touch"===e.pointerType&&(gv=!0,setTimeout((()=>{gv=!1}),50))}function vv(){if(!(typeof document>"u"))return typeof PointerEvent<"u"&&document.addEventListener("pointerup",xv),yv++,()=>{yv--,!(yv>0)&&typeof PointerEvent<"u"&&document.removeEventListener("pointerup",xv)}}function jv(e){let{onHoverStart:t,onHoverChange:s,onHoverEnd:n,isDisabled:i}=e,[r,a]=qp(!1),o=Wp({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;Up(vv,[]);let{addGlobalListener:l,removeAllGlobalListeners:c}=Yx(),{hoverProps:d,triggerHoverEnd:u}=Zp((()=>{let e=(e,t)=>{let i=o.target;o.pointerType="",o.target=null,"touch"!==t&&o.isHovered&&i&&(o.isHovered=!1,c(),n&&n({type:"hoverend",target:i,pointerType:t}),s&&s(!1),a(!1))},r={};return typeof PointerEvent<"u"&&(r.onPointerEnter=n=>{gv&&"mouse"===n.pointerType||((n,r)=>{if(o.pointerType=r,i||"touch"===r||o.isHovered||!n.currentTarget.contains(n.target))return;o.isHovered=!0;let c=n.currentTarget;o.target=c,l(Fx(n.target),"pointerover",(t=>{o.isHovered&&o.target&&!Rx(o.target,t.target)&&e(t,t.pointerType)}),{capture:!0}),t&&t({type:"hoverstart",target:c,pointerType:r}),s&&s(!0),a(!0)})(n,n.pointerType)},r.onPointerLeave=t=>{!i&&t.currentTarget.contains(t.target)&&e(t,t.pointerType)}),{hoverProps:r,triggerHoverEnd:e}}),[t,s,n,i,o,l,c]);return Up((()=>{i&&u({currentTarget:o.target},o.pointerType)}),[i]),{hoverProps:d,isHovered:r}}function wv(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{autoFocus:t=!1,isTextInput:s,within:n}=e,i=Wp({isFocused:!1,isFocusVisible:t||hv()}),[r,a]=qp(!1),[o,l]=qp((()=>i.current.isFocused&&i.current.isFocusVisible)),c=$p((()=>l(i.current.isFocused&&i.current.isFocusVisible)),[]),d=$p((e=>{i.current.isFocused=e,a(e),c()}),[c]);mv((e=>{i.current.isFocusVisible=e,c()}),[],{isTextInput:s});let{focusProps:u}=function(e){let{isDisabled:t,onFocus:s,onBlur:n,onFocusChange:i}=e;const r=$p((e=>{if(e.target===e.currentTarget)return n&&n(e),i&&i(!1),!0}),[n,i]),a=Qx(r),o=$p((e=>{const t=Fx(e.target),n=t?Lx(t):Lx();e.target===e.currentTarget&&n===qx(e.nativeEvent)&&(s&&s(e),i&&i(!0),a(e))}),[i,s,a]);return{focusProps:{onFocus:!t&&(s||i||n)?o:void 0,onBlur:t||!n&&!i?void 0:r}}}({isDisabled:n,onFocusChange:d}),{focusWithinProps:h}=fv({isDisabled:!n,onFocusWithinChange:d});return{isFocused:r,isFocusVisible:o,focusProps:n?h:u}}var bv=Object.defineProperty,Sv=(e,t,s)=>(((e,t,s)=>{t in e?bv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s})(e,"symbol"!=typeof t?t+"":t,s),s);let kv=new class{constructor(){Sv(this,"current",this.detect()),Sv(this,"handoffState","pending"),Sv(this,"currentId",0)}set(e){this.current!==e&&(this.handoffState="pending",this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return typeof window>"u"||typeof document>
2"u"?"server":"client"}handoff(){"pending"===this.handoffState&&(this.handoffState="complete")}get isHandoffComplete(){return"complete"===this.handoffState}};function Nv(){let e=[],t={addEventListener:(e,s,n,i)=>(e.addEventListener(s,n,i),t.add((()=>e.removeEventListener(s,n,i)))),requestAnimationFrame(){let e=requestAnimationFrame(...arguments);return t.add((()=>cancelAnimationFrame(e)))},nextFrame(){for(var e=arguments.length,s=new Array(e),n=0;n<e;n++)s[n]=arguments[n];return t.requestAnimationFrame((()=>t.requestAnimationFrame(...s)))},setTimeout(){let e=setTimeout(...arguments);return t.add((()=>clearTimeout(e)))},microTask(){for(var e=arguments.length,s=new Array(e),n=0;n<e;n++)s[n]=arguments[n];let i={current:!0};return function(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((e=>setTimeout((()=>{throw e}))))}((()=>{i.current&&s[0]()})),t.add((()=>{i.current=!1}))},style(e,t,s){let n=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:s}),this.add((()=>{Object.assign(e.style,{[t]:n})}))},group(e){let t=Nv();return e(t),this.add((()=>t.dispose()))},add:t=>(e.includes(t)||e.push(t),()=>{let s=e.indexOf(t);if(s>=0)for(let t of e.splice(s,1))t()}),dispose(){for(let t of e.splice(0))t()}};return t}let Av=(e,t)=>{kv.isServer?Up(e,t):Bp(e,t)};let _v=function(e){let t=function(e){let t=Wp(e);return Av((()=>{t.current=e}),[e]),t}(e);return Zm.useCallback((function(){return t.current(...arguments)}),[t])};function Mv(){let{disabled:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Wp(null),[s,n]=qp(!1),i=function(){let[e]=qp(Nv);return Up((()=>()=>e.dispose()),[e]),e}(),r=_v((()=>{t.current=null,n(!1),i.dispose()})),a=_v((e=>{if(i.dispose(),null===t.current){t.current=e.currentTarget,n(!0);{let s=function(e){var t,s;return kv.isServer?null:e?"ownerDocument"in e?e.ownerDocument:"current"in e?null!=(s=null==(t=e.current)?void 0:t.ownerDocument)?s:document:null:document}(e.currentTarget);i.addEventListener(s,"pointerup",r,!1),i.addEventListener(s,"pointermove",(e=>{if(t.current){let s=function(e){let t=e.width/2,s=e.height/2;return{top:e.clientY-s,right:e.clientX+t,bottom:e.clientY+s,left:e.clientX-t}}(e);n(function(e,t){return!(!e||!t||e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom)}(s,t.current.getBoundingClientRect()))}}),!1),i.addEventListener(s,"pointercancel",r,!1)}}}));return{pressed:s,pressProps:e?{}:{onPointerDown:a,onPointerUp:r,onClick:r}}}let Cv=bp(void 0);function Tv(){return Gp(Cv)}function Ev(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return Array.from(new Set(t.flatMap((e=>"string"==typeof e?e.split(" "):[])))).filter(Boolean).join(" ")}function Iv(e,t){if(e in t){let r=t[e];for(var s=arguments.length,n=new Array(s>2?s-2:0),i=2;i<s;i++)n[i-2]=arguments[i];return"function"==typeof r?r(...n):r}let r=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(t).map((e=>`"${e}"`)).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Iv),r}var Pv,Dv,Fv=((Dv=Fv||{})[Dv.None=0]="None",Dv[Dv.RenderStrategy=1]="RenderStrategy",Dv[Dv.Static=2]="Static",Dv),Ov=((Pv=Ov||{})[Pv.Unmount=0]="Unmount",Pv[Pv.Hidden=1]="Hidden",Pv);function Rv(){let e=function(){let e=Wp([]),t=$p((t=>{for(let s of e.current)null!=s&&("function"==typeof s?s(t):s.current=t)}),[]);return function(){for(var s=arguments.length,n=new Array(s),i=0;i<s;i++)n[i]=arguments[i];if(!n.every((e=>null==e)))return e.current=n,t}}();return $p((t=>function(e){let{ourProps:t,theirProps:s,slot:n,defaultTag:i,features:r,visible:a=!0,name:o,mergeRefs:l}=e;l=l??qv;
2let c=zv(s,t);if(a)return Lv(c,n,i,o,l);let d=r??0;if(2&d){let{static:e=!1,...t}=c;if(e)return Lv(t,n,i,o,l)}if(1&d){let{unmount:e=!0,...t}=c;return Iv(e?0:1,{0:()=>null,1:()=>Lv({...t,hidden:!0,style:{display:"none"}},n,i,o,l)})}return Lv(c,n,i,o,l)}({mergeRefs:e,...t})),[e])}function Lv(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,{as:r=s,children:a,refName:o="ref",...l}=Hv(e,["unmount","static"]),c=void 0!==e.ref?{[o]:e.ref}:{},d="function"==typeof a?a(t):a;"className"in l&&l.className&&"function"==typeof l.className&&(l.className=l.className(t)),l["aria-labelledby"]&&l["aria-labelledby"]===l.id&&(l["aria-labelledby"]=void 0);let u={};if(t){let e=!1,s=[];for(let[n,i]of Object.entries(t))"boolean"==typeof i&&(e=!0),!0===i&&s.push(n.replace(/([A-Z])/g,(e=>`-${e.toLowerCase()}`)));if(e){u["data-headlessui-state"]=s.join(" ");for(let e of s)u[`data-${e}`]=""}}if(r===ep&&(Object.keys(Wv(l)).length>0||Object.keys(Wv(u)).length>0)){if(Wm(d)&&!(Array.isArray(d)&&d.length>1)){let e=d.props,t=null==e?void 0:e.className,s="function"==typeof t?function(){return Ev(t(...arguments),l.className)}:Ev(t,l.className),n=s?{className:s}:{},r=zv(d.props,Wv(Hv(l,["ref"])));for(let i in u)i in r&&delete u[i];return Hm(d,Object.assign({},r,u,c,{ref:i(Zv(d),c.ref)},n))}if(Object.keys(Wv(l)).length>0)throw new Error(['Passing props on "Fragment"!',"",`The current component <${n} /> is rendering a "Fragment".`,"However we need to passthrough the following props:",Object.keys(Wv(l)).concat(Object.keys(Wv(u))).map((e=>`  - ${e}`)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "Fragment".',"Render a single element as the child so that we can forward the props onto that element."].map((e=>`  - ${e}`)).join("\n")].join("\n"))}return Xh(r,Object.assign({},Hv(l,["ref"]),r!==ep&&c,r!==ep&&u),d)}function qv(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return t.every((e=>null==e))?void 0:e=>{for(let s of t)null!=s&&("function"==typeof s?s(e):s.current=e)}}function zv(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];if(0===t.length)return{};if(1===t.length)return t[0];let n={},i={};for(let r of t)for(let e in r)e.startsWith("on")&&"function"==typeof r[e]?(null!=i[e]||(i[e]=[]),i[e].push(r[e])):n[e]=r[e];if(n.disabled||n["aria-disabled"])for(let r in i)/^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(r)&&(i[r]=[e=>{var t;return null==(t=null==e?void 0:e.preventDefault)?void 0:t.call(e)}]);for(let r in i)Object.assign(n,{[r](e){let t=i[r];for(var s=arguments.length,n=new Array(s>1?s-1:0),a=1;a<s;a++)n[a-1]=arguments[a];for(let i of t){if((e instanceof Event||(null==e?void 0:e.nativeEvent)instanceof Event)&&e.defaultPrevented)return;i(e,...n)}}});return n}function Uv(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];if(0===t.length)return{};if(1===t.length)return t[0];let n={},i={};for(let r of t)for(let e in r)e.startsWith("on")&&"function"==typeof r[e]?(null!=i[e]||(i[e]=[]),i[e].push(r[e])):n[e]=r[e];for(let r in i)Object.assign(n,{[r](){let e=i[r];for(let t of e)null==t||t(...arguments)}});return n}function Bv(e){var t;return Object.assign(mm(e),{displayName:null!=(t=e.displayName)?t:e.name})}function Wv(e){let t=Object.assign({},e);for(let s in t)void 0===t[s]&&delete t[s];return t}function Hv(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=Object.assign({},e);for(let n of t)n in s&&delete s[n];return s}function Zv(e){return Zm.version.split(".")[0]>="19"?e.props.ref:e.ref}let $v=Bv((function(e,t){var s;let n=Tv(),{disabled:i=n||!1,autoFocus:r=!1,...a}=e,{isFocusVisible:o,focusProps:l}=wv({autoFocus:r}),{isHovered:c,hoverProps:d}=jv({isDisabled:i}),{pressed:u,pressProps:h}=Mv({disabled:i}),p=Uv({ref:t,type:null!=(s=a.type)?s:"button",disabled:i||void 0,autoFocus:r},l,d,h),m=Zp((()=>({disabled:i,hover:c,focus:o,active:u,autofocus:r})),[i,c,o,u,r]);return Rv()({ourProps:p,theirProps:a,slot:m,defaultTag:"button",name:"Button"})})),Gv=bp(void 0);function Vv(){return Gp(Gv)}let Yv=Symbol();function Kv(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];let n=Wp(t);Up((()=>{n.current=t}),[t]);let i=_v((e=>{for(let t of n.current)null!=t&&("function"==typeof t?t(e):t.current=e)}));return t.every((e=>null==e||(null==e?void 0:e[Yv])))?void 0:i}let Qv=bp(null);function Xv(){let e=Gp(Qv);
2if(null===e){let e=new Error("You used a <Description /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(e,Xv),e}return e}Qv.displayName="DescriptionContext";let Jv=Bv((function(e,t){let s=Yp(),n=Tv(),{id:i=`headlessui-description-${s}`,...r}=e,a=Xv(),o=Kv(t);Av((()=>a.register(i)),[i,a.register]);let l=n||!1,c=Zp((()=>({...a.slot,disabled:l})),[a.slot,l]),d={ref:o,...a.props,id:i};return Rv()({ourProps:d,theirProps:r,slot:c,defaultTag:"p",name:a.name||"Description"})}));Object.assign(Jv,{});let ej=bp(null);function tj(){let e=Gp(ej);if(null===e){let e=new Error("You used a <Label /> component, but it is not inside a relevant parent.");throw Error.captureStackTrace&&Error.captureStackTrace(e,tj),e}return e}ej.displayName="LabelContext";let sj=Bv((function(e,t){var s;let n=Yp(),i=tj(),r=Vv(),a=Tv(),{id:o=`headlessui-label-${n}`,htmlFor:l=r??(null==(s=i.props)?void 0:s.htmlFor),passive:c=!1,...d}=e,u=Kv(t);Av((()=>i.register(o)),[o,i.register]);let h=_v((e=>{let t=e.currentTarget;if(t instanceof HTMLLabelElement&&e.preventDefault(),i.props&&"onClick"in i.props&&"function"==typeof i.props.onClick&&i.props.onClick(e),t instanceof HTMLLabelElement){let e=document.getElementById(t.htmlFor);if(e){let t=e.getAttribute("disabled");if("true"===t||""===t)return;let s=e.getAttribute("aria-disabled");if("true"===s||""===s)return;(e instanceof HTMLInputElement&&("radio"===e.type||"checkbox"===e.type)||"radio"===e.role||"checkbox"===e.role||"switch"===e.role)&&e.click(),e.focus({preventScroll:!0})}}})),p=a||!1,m=Zp((()=>({...i.slot,disabled:p})),[i.slot,p]),f={ref:u,...i.props,id:o,htmlFor:l,onClick:h};return c&&("onClick"in f&&(delete f.htmlFor,delete f.onClick),"onClick"in d&&delete d.onClick),Rv()({ourProps:f,theirProps:d,slot:m,defaultTag:l?"label":"div",name:i.name||"Label"})}));Object.assign(sj,{});Bv((function(e,t){let s=Yp(),n=Vv(),i=Tv(),{id:r=n||`headlessui-textarea-${s}`,disabled:a=i||!1,autoFocus:o=!1,invalid:l=!1,...c}=e,d=function(){var e,t;let s=null!=(t=null==(e=Gp(ej))?void 0:e.value)?t:void 0;return s}(),u=function(){var e,t;return null!=(t=null==(e=Gp(Qv))?void 0:e.value)?t:void 0}(),{isFocused:h,focusProps:p}=wv({autoFocus:o}),{isHovered:m,hoverProps:f}=jv({isDisabled:a}),g=Uv({ref:t,id:r,"aria-labelledby":d,"aria-describedby":u,"aria-invalid":l?"true":void 0,disabled:a||void 0,autoFocus:o},p,f),y=Zp((()=>({disabled:a,invalid:l,hover:m,focus:h,autofocus:o})),[a,l,m,h,o]);return Rv()({ourProps:g,theirProps:c,slot:y,defaultTag:"textarea",name:"Textarea"})}));const nj=e=>{const t=(e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,((e,t,s)=>s?s.toUpperCase():t.toLowerCase())))(e);return t.charAt(0).toUpperCase()+t.slice(1)},ij=function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return t.filter(((e,t,s)=>!!e&&""!==e.trim()&&s.indexOf(e)===t)).join(" ").trim()},rj=e=>{for(const t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};var aj={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const oj=mm(((e,t)=>{let{color:s="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:r,className:a="",children:o,iconNode:l,...c}=e;return Xh("svg",{ref:t,...aj,width:n,height:n,stroke:s,strokeWidth:r?24*Number(i)/Number(n):i,className:ij("lucide",a),...!o&&!rj(c)&&{"aria-hidden":"true"},...c},[...l.map((e=>{let[t,s]=e;return Xh(t,s)})),...Array.isArray(o)?o:[o]])})),lj=(e,t)=>{const s=mm(((s,n)=>{let{className:i,...r}=s;return Xh(oj,{ref:n,iconNode:t,className:ij(`lucide-${a=nj(e),a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...r});var a}));return s.displayName=nj(e),s};lj("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),lj("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),lj("message-circle",[["path",{d:"M7.9 20A9 9 0 1 0 4 16.1L2 22Z",key:"vv11sd"}]]),lj("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),lj("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]),lj("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),lj("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]),lj("settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),lj("trash-2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}
2],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),lj("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);bp(null);function cj(e){return kp("div",{className:"relative flex w-full shrink-0 items-center justify-center",children:[e.children,e.badgeContent&&kp("div",{className:Ix("bg-blue-600 text-white",e.badgeClassName,"pointer-events-none absolute right-0 bottom-0 flex h-3 w-max min-w-3 max-w-8 select-none items-center justify-center truncate rounded-full px-0.5 font-semibold text-[0.5em]"),children:e.badgeContent}),e.statusDot&&kp("div",{className:Ix("bg-rose-600",e.statusDotClassName,"pointer-events-none absolute top-0 right-0 size-1.5 rounded-full")})]})}const dj=mm(((e,t)=>{let{badgeContent:s,badgeClassName:n,statusDot:i,statusDotClassName:r,tooltipHint:a,variant:o="default",active:l,...c}=e;return kp(cj,{badgeContent:s,badgeClassName:n,statusDot:i,statusDotClassName:r,children:kp($v,{ref:t,...c,className:Ix("flex items-center justify-center rounded-full p-1 text-zinc-950 ring ring-transparent transition-all duration-150 hover:bg-zinc-950/5","default"===o?"size-8":"h-8 rounded-full",l&&"bg-white/40 ring-zinc-950/20",c.className)})})}));dj.displayName="ToolbarButton";const uj=()=>{const{pathname:t}=oe();return(0,e.useEffect)((()=>{window.scrollTo(0,0)}),[t]),null},hj=()=>(0,jt.jsx)(at,{children:(0,jt.jsxs)(ce,{children:[!1,(0,jt.jsx)(uj,{}),(0,jt.jsxs)(re,{children:[(0,jt.jsx)(J,{component:Ct,exact:!0,path:"/terms-of-use"}),(0,jt.jsx)(J,{component:Et,exact:!0,path:"/privacy-policy"}),(0,jt.jsx)(J,{component:mh,exact:!0,path:"/sms-compliance"}),(0,jt.jsx)(J,{component:gh,exact:!0,path:"/sender-id-registration"}),(0,jt.jsx)(J,{component:za,exact:!0,path:"/blog"}),(0,jt.jsx)(J,{component:Ga,exact:!0,path:"/blog/:slug"}),(0,jt.jsx)(J,{component:Va,exact:!0,path:"/contact-us"}),(0,jt.jsx)(J,{component:fh,exact:!0,path:"/about"}),(0,jt.jsx)(J,{component:Qa,exact:!0,path:"/integrations/microsoft-teams"}),(0,jt.jsx)(J,{component:Xa,exact:!0,path:"/integrations/email-to-sms"}),(0,jt.jsx)(J,{component:yh,exact:!0,path:"/integrations/zapier/actions/analyse-sentiment-ai"}),(0,jt.jsx)(J,{component:xh,exact:!0,path:"/integrations/zapier/actions/send-sms"}),(0,jt.jsx)(J,{component:vh,exact:!0,path:"/integrations/zapier/actions/create-contact"}),(0,jt.jsx)(J,{component:jh,exact:!0,path:"/integrations/zapier/actions/categorise-sms-ai"}),(0,jt.jsx)(J,{component:wh,exact:!0,path:"/integrations/zapier/triggers/new-sms-received"}),(0,jt.jsx)(J,{component:bh,exact:!0,path:"/integrations/zapier/triggers/keyword-matched"}),(0,jt.jsx)(J,{component:Sh,exact:!0,path:"/integrations/zapier/triggers/sms-delivery-status"}),(0,jt.jsx)(J,{component:kh,exact:!0,path:"/integrations/zapier/triggers/low-balance-alert"}),(0,jt.jsx)(J,{component:so,exact:!0,path:"/integrations/zapier"}),(0,jt.jsx)(J,{component:no,exact:!0,path:"/integrations/supabase"}),(0,jt.jsx)(J,{component:io,exact:!0,path:"/integrations/auth0"}),(0,jt.jsx)(J,{component:ro,exact:!0,path:"/integrations/shopify"}),(0,jt.jsx)(J,{component:ao,exact:!0,path:"/integrations/wordpress"}),(0,jt.jsx)(J,{component:Nh,exact:!0,path:"/integrations/gohighlevel"}),(0,jt.jsx)(J,{component:Ah,exact:!0,path:"/integrations/cliniko"}),(0,jt.jsx)(J,{component:_h,exact:!0,path:"/integrations/monday"}),(0,jt.jsx)(J,{component:eo,exact:!0,path:"/integrations/power-automate/advanced"}),(0,jt.jsx)(J,{component:to,exact:!0,path:"/integrations/power-automate/use-cases"}),(0,jt.jsx)(J,{component:Ja,exact:!0,path:"/integrations/power-automate"}),(0,jt.jsx)(J,{component:Ph,exact:!0,path:"/integrations"}),(0,jt.jsx)(J,{component:ph,exact:!0,path:"/"}),(0,jt.jsx)(Y,{from:"/privacy",to:"/privacy-policy"}),(0,jt.jsx)(Y,{from:"/sms-for-woocommerce",to:"/integrations/wordpress"}),(0,jt.jsx)(J,{component:Ya,path:"**"}),(0,jt.jsx)(Y,{to:"**"})]})]})});t.render((0,jt.jsx)(hj,{}),document.getElementById("app"))})()})();
3//# sourceMappingURL=main.99cb15c8.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.