PageSourceSearch

https://cctcma.com/assets/index-C1BYOTgs.js

js cctcma.com collected 2026-10-05 08:17:04 UTC 1,223,180 bytes, 824 lines download raw bytes

vendor: 5,827 bytes, lines 1-9
1var Rp=Object.defineProperty;var Op=(e,n,a)=>n in e?Rp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a;var yt=(e,n,a)=>Op(e,typeof n!="symbol"?n+"":n,a);function Kp(e,n){for(var a=0;a<n.length;a++){const i=n[a];if(typeof i!="string"&&!Array.isArray(i)){for(const r in i)if(r!=="default"&&!(r in e)){const s=Object.getOwnPropertyDescriptor(i,r);s&&Object.defineProperty(e,r,s.get?s:{enumerable:!0,get:()=>i[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function a(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=a(r);fetch(r.href,s)}})();function Or(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Zd={exports:{}},Kr={},Xd={exports:{}},G={};/**
2 * @license React
3 * react.production.min.js
4 *
5 * Copyright (c) Facebook, Inc. and its affiliates.
6 *
7 * This source code is licensed under the MIT license found in the
8 * LICENSE file in the root directory of this source tree.
9 */var li=Symbol.for("react.element"),Fp=Symbol.for("react.portal"),Hp=Symbol.for("react.fragment"),zp=Symbol.for("react.strict_mode"),qp=Symbol.for("react.profiler"),Bp=Symbol.for("react.provider"),$p=Symbol.for("react.context"),Up=Symbol.for("react.forward_ref"),Wp=Symbol.for("react.suspense"),Vp=Symbol.for("react.memo"),Gp=Symbol.for("react.lazy"),Gl=Symbol.iterator;function Jp(e){return e===null||typeof e!="object"?null:(e=Gl&&e[Gl]||e["@@iterator"],typeof e=="function"?e:null)}var eu={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},tu=Object.assign,nu={};function ia(e,n,a){this.props=e,this.context=n,this.refs=nu,this.updater=a||eu}ia.prototype.isReactComponent={};ia.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};ia.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function au(){}au.prototype=ia.prototype;function Wo(e,n,a){this.props=e,this.context=n,this.refs=nu,this.updater=a||eu}var Vo=Wo.prototype=new au;Vo.constructor=Wo;tu(Vo,ia.prototype);Vo.isPureReactComponent=!0;var Jl=Array.isArray,iu=Object.prototype.hasOwnProperty,Go={current:null},ru={key:!0,ref:!0,__self:!0,__source:!0};function su(e,n,a){var i,r={},s=null,o=null;if(n!=null)for(i in n.ref!==void 0&&(o=n.ref),n.key!==void 0&&(s=""+n.key),n)iu.call(n,i)&&!ru.hasOwnProperty(i)&&(r[i]=n[i]);var c=arguments.length-2;if(c===1)r.children=a;else if(1<c){for(var l=Array(c),d=0;d<c;d++)l[d]=arguments[d+2];r.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps,c)r[i]===void 0&&(r[i]=c[i]);return{$$typeof:li,type:e,key:s,ref:o,props:r,_owner:Go.current}}function Yp(e,n){return{$$typeof:li,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}function Jo(e){return typeof e=="object"&&e!==null&&e.$$typeof===li}function Qp(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(a){return n[a]})}var Yl=/\/+/g;function is(e,n){return typeof e=="object"&&e!==null&&e.key!=null?Qp(""+e.key):n.toString(36)}function Ui(e,n,a,i,r){var s=typeof e;(s==="undefined"||s==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(s){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case li:case Fp:o=!0}}if(o)return o=e,r=r(o),e=i===""?"."+is(o,0):i,Jl(r)?(a="",e!=null&&(a=e.replace(Yl,"$&/")+"/"),Ui(r,n,a,"",function(d){return d})):r!=null&&(Jo(r)&&(r=Yp(r,a+(!r.key||o&&o.key===r.key?"":(""+r.key).replace(Yl,"$&/")+"/")+e)),n.push(r)),1;if(o=0,i=i===""?".":i+":",Jl(e))for(var c=0;c<e.length;c++){s=e[c];var l=i+is(s,c);o+=Ui(s,n,a,l,r)}else if(l=Jp(e),typeof l=="function")for(e=l.call(e),c=0;!(s=e.next()).done;)s=s.value,l=i+is(s,c++),o+=Ui(s,n,a,l,r);else if(s==="object")throw n=String(e),Error("Objects are not valid as a React child (found: "+(n==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.");return o}function Ci(e,n,a){if(e==null)return e;var i=[],r=0;return Ui(e,i,"","",function(s){return n.call(a,s,r++)}),i}function Zp(e){if(e._status===-1){var n=e._result;n=n(),n.then(function(a){(e._status===0||e._status===-1)&&(e._status=1,e._result=a)},function(a){(e._status===0||e._status===-1)&&(e._status=2,e._result=a)}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var Ie={current:null},Wi={transition:null},Xp={ReactCurrentDispatcher:Ie,ReactCurrentBatchConfig:Wi,ReactCurrentOwner:Go};function ou(){throw Error("act(...) is not supported in production builds of React.")}G.Children={map:Ci,forEach:function(e,n,a){Ci(e,function(){n.apply(this,arguments)},a)},count:function(e){var n=0;return Ci(e,function(){n++}),n},toArray:function(e){return Ci(e,function(n){return n})||[]},only:function(e){if(!Jo(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};G.Component=ia;G.Fragment=Hp;G.Profiler=qp;G.PureComponent=Wo;G.StrictMode=zp;G.Suspense=Wp;
vendor: 9,000 bytes, lines 9-33
9G.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Xp;G.act=ou;G.cloneElement=function(e,n,a){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=tu({},e.props),r=e.key,s=e.ref,o=e._owner;if(n!=null){if(n.ref!==void 0&&(s=n.ref,o=Go.current),n.key!==void 0&&(r=""+n.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in n)iu.call(n,l)&&!ru.hasOwnProperty(l)&&(i[l]=n[l]===void 0&&c!==void 0?c[l]:n[l])}var l=arguments.length-2;if(l===1)i.children=a;else if(1<l){c=Array(l);for(var d=0;d<l;d++)c[d]=arguments[d+2];i.children=c}return{$$typeof:li,type:e.type,key:r,ref:s,props:i,_owner:o}};G.createContext=function(e){return e={$$typeof:$p,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Bp,_context:e},e.Consumer=e};G.createElement=su;G.createFactory=function(e){var n=su.bind(null,e);return n.type=e,n};G.createRef=function(){return{current:null}};G.forwardRef=function(e){return{$$typeof:Up,render:e}};G.isValidElement=Jo;G.lazy=function(e){return{$$typeof:Gp,_payload:{_status:-1,_result:e},_init:Zp}};G.memo=function(e,n){return{$$typeof:Vp,type:e,compare:n===void 0?null:n}};G.startTransition=function(e){var n=Wi.transition;Wi.transition={};try{e()}finally{Wi.transition=n}};G.unstable_act=ou;G.useCallback=function(e,n){return Ie.current.useCallback(e,n)};G.useContext=function(e){return Ie.current.useContext(e)};G.useDebugValue=function(){};G.useDeferredValue=function(e){return Ie.current.useDeferredValue(e)};G.useEffect=function(e,n){return Ie.current.useEffect(e,n)};G.useId=function(){return Ie.current.useId()};G.useImperativeHandle=function(e,n,a){return Ie.current.useImperativeHandle(e,n,a)};G.useInsertionEffect=function(e,n){return Ie.current.useInsertionEffect(e,n)};G.useLayoutEffect=function(e,n){return Ie.current.useLayoutEffect(e,n)};G.useMemo=function(e,n){return Ie.current.useMemo(e,n)};G.useReducer=function(e,n,a){return Ie.current.useReducer(e,n,a)};G.useRef=function(e){return Ie.current.useRef(e)};G.useState=function(e){return Ie.current.useState(e)};G.useSyncExternalStore=function(e,n,a){return Ie.current.useSyncExternalStore(e,n,a)};G.useTransition=function(){return Ie.current.useTransition()};G.version="18.3.1";Xd.exports=G;var w=Xd.exports;const we=Or(w),eh=Kp({__proto__:null,default:we},[w]);/**
10 * @license React
11 * react-jsx-runtime.production.min.js
12 *
13 * Copyright (c) Facebook, Inc. and its affiliates.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE file in the root directory of this source tree.
17 */var th=w,nh=Symbol.for("react.element"),ah=Symbol.for("react.fragment"),ih=Object.prototype.hasOwnProperty,rh=th.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,sh={key:!0,ref:!0,__self:!0,__source:!0};function lu(e,n,a){var i,r={},s=null,o=null;a!==void 0&&(s=""+a),n.key!==void 0&&(s=""+n.key),n.ref!==void 0&&(o=n.ref);for(i in n)ih.call(n,i)&&!sh.hasOwnProperty(i)&&(r[i]=n[i]);if(e&&e.defaultProps)for(i in n=e.defaultProps,n)r[i]===void 0&&(r[i]=n[i]);return{$$typeof:nh,type:e,key:s,ref:o,props:r,_owner:rh.current}}Kr.Fragment=ah;Kr.jsx=lu;Kr.jsxs=lu;Zd.exports=Kr;var t=Zd.exports,zs={},cu={exports:{}},Je={},du={exports:{}},uu={};/**
18 * @license React
19 * scheduler.production.min.js
20 *
21 * Copyright (c) Facebook, Inc. and its affiliates.
22 *
23 * This source code is licensed under the MIT license found in the
24 * LICENSE file in the root directory of this source tree.
25 */(function(e){function n(M,F){var z=M.length;M.push(F);e:for(;0<z;){var q=z-1>>>1,J=M[q];if(0<r(J,F))M[q]=F,M[z]=J,z=q;else break e}}function a(M){return M.length===0?null:M[0]}function i(M){if(M.length===0)return null;var F=M[0],z=M.pop();if(z!==F){M[0]=z;e:for(var q=0,J=M.length,fe=J>>>1;q<fe;){var se=2*(q+1)-1,Qe=M[se],Ee=se+1,je=M[Ee];if(0>r(Qe,z))Ee<J&&0>r(je,Qe)?(M[q]=je,M[Ee]=z,q=Ee):(M[q]=Qe,M[se]=z,q=se);else if(Ee<J&&0>r(je,z))M[q]=je,M[Ee]=z,q=Ee;else break e}}return F}function r(M,F){var z=M.sortIndex-F.sortIndex;return z!==0?z:M.id-F.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,c=o.now();e.unstable_now=function(){return o.now()-c}}var l=[],d=[],p=1,u=null,m=3,h=!1,x=!1,v=!1,C=typeof setTimeout=="function"?setTimeout:null,f=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(M){for(var F=a(d);F!==null;){if(F.callback===null)i(d);else if(F.startTime<=M)i(d),F.sortIndex=F.expirationTime,n(l,F);else break;F=a(d)}}function N(M){if(v=!1,y(M),!x)if(a(l)!==null)x=!0,_(S);else{var F=a(d);F!==null&&R(N,F.startTime-M)}}function S(M,F){x=!1,v&&(v=!1,f(I),I=-1),h=!0;var z=m;try{for(y(F),u=a(l);u!==null&&(!(u.expirationTime>F)||M&&!H());){var q=u.callback;if(typeof q=="function"){u.callback=null,m=u.priorityLevel;var J=q(u.expirationTime<=F);F=e.unstable_now(),typeof J=="function"?u.callback=J:u===a(l)&&i(l),y(F)}else i(l);u=a(l)}if(u!==null)var fe=!0;else{var se=a(d);se!==null&&R(N,se.startTime-F),fe=!1}return fe}finally{u=null,m=z,h=!1}}var k=!1,T=null,I=-1,A=5,D=-1;function H(){return!(e.unstable_now()-D<A)}function O(){if(T!==null){var M=e.unstable_now();D=M;var F=!0;try{F=T(!0,M)}finally{F?Q():(k=!1,T=null)}}else k=!1}var Q;if(typeof b=="function")Q=function(){b(O)};else if(typeof MessageChannel<"u"){var B=new MessageChannel,L=B.port2;B.port1.onmessage=O,Q=function(){L.postMessage(null)}}else Q=function(){C(O,0)};function _(M){T=M,k||(k=!0,Q())}function R(M,F){I=C(function(){M(e.unstable_now())},F)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(M){M.callback=null},e.unstable_continueExecution=function(){x||h||(x=!0,_(S))},e.unstable_forceFrameRate=function(M){0>M||125<M?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):A=0<M?Math.floor(1e3/M):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_getFirstCallbackNode=function(){return a(l)},e.unstable_next=function(M){switch(m){case 1:case 2:case 3:var F=3;break;default:F=m}var z=m;m=F;try{return M()}finally{m=z}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(M,F){switch(M){case 1:case 2:case 3:case 4:case 5:break;default:M=3}var z=m;m=M;try{return F()}finally{m=z}},e.unstable_scheduleCallback=function(M,F,z){var q=e.unstable_now();switch(typeof z=="object"&&z!==null?(z=z.delay,z=typeof z=="number"&&0<z?q+z:q):z=q,M){case 1:var J=-1;break;case 2:J=250;break;case 5:J=1073741823;break;case 4:J=1e4;break;default:J=5e3}return J=z+J,M={id:p++,callback:F,priorityLevel:M,startTime:z,expirationTime:J,sortIndex:-1},z>q?(M.sortIndex=z,n(d,M),a(l)===null&&M===a(d)&&(v?(f(I),I=-1):v=!0,R(N,z-q))):(M.sortIndex=J,n(l,M),x||h||(x=!0,_(S))),M},e.unstable_shouldYield=H,e.unstable_wrapCallback=function(M){var F=m;return function(){var z=m;m=F;try{return M.apply(this,arguments)}finally{m=z}}}})(uu);du.exports=uu;var oh=du.exports;/**
26 * @license React
27 * react-dom.production.min.js
28 *
29 * Copyright (c) Facebook, Inc. and its affiliates.
30 *
31 * This source code is licensed under the MIT license found in the
32 * LICENSE file in the root directory of this source tree.
33 */var lh=w,Ge=oh;function P(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a<arguments.length;a++)n+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var mu=new Set,qa={};function Nn(e,n){Qn(e,n),Qn(e+"Capture",n)}function Qn(e,n){for(qa[e]=n,e=0;e<n.length;e++)mu.add(n[e])}var _t=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),qs=Object.prototype.hasOwnProperty,ch=/^[: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]*$/,Ql={},Zl={};function dh(e){return qs.call(Zl,e)?!0:qs.call(Ql,e)?!1:ch.test(e)?Zl[e]=!0:(Ql[e]=!0,!1)}function uh(e,n,a,i){if(a!==null&&a.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return i?!1:a!==null?!a.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function mh(e,n,a,i){if(n===null||typeof n>"u"||uh(e,n,a,i))return!0;
vendor: 5,108 bytes, lines 33-34
33if(i)return!1;if(a!==null)switch(a.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function Re(e,n,a,i,r,s,o){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=a,this.propertyName=e,this.type=n,this.sanitizeURL=s,this.removeEmptyString=o}var Te={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Te[e]=new Re(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];Te[n]=new Re(n,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Te[e]=new Re(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Te[e]=new Re(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){Te[e]=new Re(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Te[e]=new Re(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Te[e]=new Re(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Te[e]=new Re(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Te[e]=new Re(e,5,!1,e.toLowerCase(),null,!1,!1)});var Yo=/[\-:]([a-z])/g;function Qo(e){return e[1].toUpperCase()}"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-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 n=e.replace(Yo,Qo);Te[n]=new Re(n,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(Yo,Qo);Te[n]=new Re(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(Yo,Qo);Te[n]=new Re(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Te[e]=new Re(e,1,!1,e.toLowerCase(),null,!1,!1)});Te.xlinkHref=new Re("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Te[e]=new Re(e,1,!1,e.toLowerCase(),null,!0,!0)});function Zo(e,n,a,i){var r=Te.hasOwnProperty(n)?Te[n]:null;(r!==null?r.type!==0:i||!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(mh(n,a,r,i)&&(a=null),i||r===null?dh(n)&&(a===null?e.removeAttribute(n):e.setAttribute(n,""+a)):r.mustUseProperty?e[r.propertyName]=a===null?r.type===3?!1:"":a:(n=r.attributeName,i=r.attributeNamespace,a===null?e.removeAttribute(n):(r=r.type,a=r===3||r===4&&a===!0?"":""+a,i?e.setAttributeNS(i,n,a):e.setAttribute(n,a))))}var It=lh.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ji=Symbol.for("react.element"),_n=Symbol.for("react.portal"),En=Symbol.for("react.fragment"),Xo=Symbol.for("react.strict_mode"),Bs=Symbol.for("react.profiler"),pu=Symbol.for("react.provider"),hu=Symbol.for("react.context"),el=Symbol.for("react.forward_ref"),$s=Symbol.for("react.suspense"),Us=Symbol.for("react.suspense_list"),tl=Symbol.for("react.memo"),Kt=Symbol.for("react.lazy"),gu=Symbol.for("react.offscreen"),Xl=Symbol.iterator;function fa(e){return e===null||typeof e!="object"?null:(e=Xl&&e[Xl]||e["@@iterator"],typeof e=="function"?e:null)}var ce=Object.assign,rs;function Ma(e){if(rs===void 0)try{throw Error()}catch(a){var n=a.stack.trim().match(/\n( *(at )?)/);rs=n&&n[1]||""}return`
34`+rs+e}var ss=!1;function os(e,n){if(!e||ss)return"";ss=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(n)if(n=function(){throw Error()},Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(n,[])}catch(d){var i=d}Reflect.construct(e,[],n)}
vendor: 5,311 bytes, lines 34-37
34else{try{n.call()}catch(d){i=d}e.call(n.prototype)}else{try{throw Error()}catch(d){i=d}e()}}catch(d){if(d&&i&&typeof d.stack=="string"){for(var r=d.stack.split(`
35`),s=i.stack.split(`
36`),o=r.length-1,c=s.length-1;1<=o&&0<=c&&r[o]!==s[c];)c--;for(;1<=o&&0<=c;o--,c--)if(r[o]!==s[c]){if(o!==1||c!==1)do if(o--,c--,0>c||r[o]!==s[c]){var l=`
37`+r[o].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}while(1<=o&&0<=c);break}}}finally{ss=!1,Error.prepareStackTrace=a}return(e=e?e.displayName||e.name:"")?Ma(e):""}function ph(e){switch(e.tag){case 5:return Ma(e.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return e=os(e.type,!1),e;case 11:return e=os(e.type.render,!1),e;case 1:return e=os(e.type,!0),e;default:return""}}function Ws(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case En:return"Fragment";case _n:return"Portal";case Bs:return"Profiler";case Xo:return"StrictMode";case $s:return"Suspense";case Us:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case hu:return(e.displayName||"Context")+".Consumer";case pu:return(e._context.displayName||"Context")+".Provider";case el:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case tl:return n=e.displayName||null,n!==null?n:Ws(e.type)||"Memo";case Kt:n=e._payload,e=e._init;try{return Ws(e(n))}catch{}}return null}function hh(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Ws(n);case 8:return n===Xo?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function en(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function fu(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function gh(e){var n=fu(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),i=""+e[n];if(!e.hasOwnProperty(n)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var r=a.get,s=a.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return r.call(this)},set:function(o){i=""+o,s.call(this,o)}}),Object.defineProperty(e,n,{enumerable:a.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Ni(e){e._valueTracker||(e._valueTracker=gh(e))}function yu(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var a=n.getValue(),i="";return e&&(i=fu(e)?e.checked?"true":"false":e.value),e=i,e!==a?(n.setValue(e),!0):!1}function or(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Vs(e,n){var a=n.checked;return ce({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??e._wrapperState.initialChecked})}function ec(e,n){var a=n.defaultValue==null?"":n.defaultValue,i=n.checked!=null?n.checked:n.defaultChecked;a=en(n.value!=null?n.value:a),e._wrapperState={initialChecked:i,initialValue:a,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function xu(e,n){n=n.checked,n!=null&&Zo(e,"checked",n,!1)}function Gs(e,n){xu(e,n);var a=en(n.value),i=n.type;if(a!=null)i==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+a):e.value!==""+a&&(e.value=""+a);else if(i==="submit"||i==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?Js(e,n.type,a):n.hasOwnProperty("defaultValue")&&Js(e,n.type,en(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function tc(e,n,a){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var i=n.type;if(!(i!=="submit"&&i!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,a||n===e.value||(e.value=n),e.defaultValue=n}a=e.name,a!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,a!==""&&(e.name=a)}function Js(e,n,a){(n!=="number"||or(e.ownerDocument)!==e)&&(a==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+a&&(e.defaultValue=""+a))}var Aa=Array.isArray;function Bn(e,n,a,i){if(e=e.options,n){n={};for(var r=0;r<a.length;r++)n["$"+a[r]]=!0;for(a=0;a<e.length;a++)r=n.hasOwnProperty("$"+e[a].value),e[a].selected!==r&&(e[a].selected=r),r&&i&&(e[a].defaultSelected=!0)}else{for(a=""+en(a),n=null,r=0;r<e.length;r++){if(e[r].value===a){e[r].selected=!0,i&&(e[r].defaultSelected=!0);return}n!==null||e[r].disabled||(n=e[r])}n!==null&&(n.selected=!0)}}
vendor: 11,517 bytes, line 37
37function Ys(e,n){if(n.dangerouslySetInnerHTML!=null)throw Error(P(91));return ce({},n,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function nc(e,n){var a=n.value;if(a==null){if(a=n.children,n=n.defaultValue,a!=null){if(n!=null)throw Error(P(92));if(Aa(a)){if(1<a.length)throw Error(P(93));a=a[0]}n=a}n==null&&(n=""),a=n}e._wrapperState={initialValue:en(a)}}function bu(e,n){var a=en(n.value),i=en(n.defaultValue);a!=null&&(a=""+a,a!==e.value&&(e.value=a),n.defaultValue==null&&e.defaultValue!==a&&(e.defaultValue=a)),i!=null&&(e.defaultValue=""+i)}function ac(e){var n=e.textContent;n===e._wrapperState.initialValue&&n!==""&&n!==null&&(e.value=n)}function vu(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 Qs(e,n){return e==null||e==="http://www.w3.org/1999/xhtml"?vu(n):e==="http://www.w3.org/2000/svg"&&n==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Si,wu=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(n,a,i,r){MSApp.execUnsafeLocalFunction(function(){return e(n,a,i,r)})}:e}(function(e,n){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=n;else{for(Si=Si||document.createElement("div"),Si.innerHTML="<svg>"+n.valueOf().toString()+"</svg>",n=Si.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Ba(e,n){if(n){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=n;return}}e.textContent=n}var Ea={animationIterationCount:!0,aspectRatio:!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},fh=["Webkit","ms","Moz","O"];Object.keys(Ea).forEach(function(e){fh.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Ea[n]=Ea[e]})});function Cu(e,n,a){return n==null||typeof n=="boolean"||n===""?"":a||typeof n!="number"||n===0||Ea.hasOwnProperty(e)&&Ea[e]?(""+n).trim():n+"px"}function ju(e,n){e=e.style;for(var a in n)if(n.hasOwnProperty(a)){var i=a.indexOf("--")===0,r=Cu(a,n[a],i);a==="float"&&(a="cssFloat"),i?e.setProperty(a,r):e[a]=r}}var yh=ce({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 Zs(e,n){if(n){if(yh[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(P(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(P(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(P(61))}if(n.style!=null&&typeof n.style!="object")throw Error(P(62))}}function Xs(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";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}}var eo=null;function nl(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var to=null,$n=null,Un=null;function ic(e){if(e=ui(e)){if(typeof to!="function")throw Error(P(280));var n=e.stateNode;n&&(n=Br(n),to(e.stateNode,e.type,n))}}function Nu(e){$n?Un?Un.push(e):Un=[e]:$n=e}function Su(){if($n){var e=$n,n=Un;if(Un=$n=null,ic(e),n)for(e=0;e<n.length;e++)ic(n[e])}}function Tu(e,n){return e(n)}function ku(){}var ls=!1;function Mu(e,n,a){if(ls)return e(n,a);ls=!0;try{return Tu(e,n,a)}finally{ls=!1,($n!==null||Un!==null)&&(ku(),Su())}}function $a(e,n){var a=e.stateNode;if(a===null)return null;var i=Br(a);if(i===null)return null;a=i[n];e:switch(n){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(e=e.type,i=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!i;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(P(231,n,typeof a));return a}var no=!1;if(_t)try{var ya={};Object.defineProperty(ya,"passive",{get:function(){no=!0}}),window.addEventListener("test",ya,ya),window.removeEventListener("test",ya,ya)}catch{no=!1}function xh(e,n,a,i,r,s,o,c,l){var d=Array.prototype.slice.call(arguments,3);try{n.apply(a,d)}catch(p){this.onError(p)}}var La=!1,lr=null,cr=!1,ao=null,bh={onError:function(e){La=!0,lr=e}};function vh(e,n,a,i,r,s,o,c,l){La=!1,lr=null,xh.apply(bh,arguments)}function wh(e,n,a,i,r,s,o,c,l){if(vh.apply(this,arguments),La){if(La){var d=lr;La=!1,lr=null}else throw Error(P(198));cr||(cr=!0,ao=d)}}function Sn(e){var n=e,a=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do n=e,n.flags&4098&&(a=n.return),e=n.return;while(e)}return n.tag===3?a:null}function Au(e){if(e.tag===13){var n=e.memoizedState;if(n===null&&(e=e.alternate,e!==null&&(n=e.memoizedState)),n!==null)return n.dehydrated}return null}function rc(e){if(Sn(e)!==e)throw Error(P(188))}function Ch(e){var n=e.alternate;if(!n){if(n=Sn(e),n===null)throw Error(P(188));return n!==e?null:e}for(var a=e,i=n;;){var r=a.return;if(r===null)break;var s=r.alternate;if(s===null){if(i=r.return,i!==null){a=i;continue}break}if(r.child===s.child){for(s=r.child;s;){if(s===a)return rc(r),e;if(s===i)return rc(r),n;s=s.sibling}throw Error(P(188))}if(a.return!==i.return)a=r,i=s;else{for(var o=!1,c=r.child;c;){if(c===a){o=!0,a=r,i=s;break}if(c===i){o=!0,i=r,a=s;break}c=c.sibling}if(!o){for(c=s.child;c;){if(c===a){o=!0,a=s,i=r;break}if(c===i){o=!0,i=s,a=r;break}c=c.sibling}if(!o)throw Error(P(189))}}if(a.alternate!==i)throw Error(P(190))}if(a.tag!==3)throw Error(P(188));return a.stateNode.current===a?e:n}function Pu(e){return e=Ch(e),e!==null?_u(e):null}function _u(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var n=_u(e);if(n!==null)return n;e=e.sibling}return null}var Eu=Ge.unstable_scheduleCallback,sc=Ge.unstable_cancelCallback,jh=Ge.unstable_shouldYield,Nh=Ge.unstable_requestPaint,he=Ge.unstable_now,Sh=Ge.unstable_getCurrentPriorityLevel,al=Ge.unstable_ImmediatePriority,Lu=Ge.unstable_UserBlockingPriority,dr=Ge.unstable_NormalPriority,Th=Ge.unstable_LowPriority,Du=Ge.unstable_IdlePriority,Fr=null,jt=null;function kh(e){if(jt&&typeof jt.onCommitFiberRoot=="function")try{jt.onCommitFiberRoot(Fr,e,void 0,(e.current.flags&128)===128)}catch{}}var mt=Math.clz32?Math.clz32:Ph,Mh=Math.log,Ah=Math.LN2;function Ph(e){return e>>>=0,e===0?32:31-(Mh(e)/Ah|0)|0}var Ti=64,ki=4194304;function Pa(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ur(e,n){var a=e.pendingLanes;if(a===0)return 0;var i=0,r=e.suspendedLanes,s=e.pingedLanes,o=a&268435455;if(o!==0){var c=o&~r;c!==0?i=Pa(c):(s&=o,s!==0&&(i=Pa(s)))}else o=a&~r,o!==0?i=Pa(o):s!==0&&(i=Pa(s));if(i===0)return 0;if(n!==0&&n!==i&&!(n&r)&&(r=i&-i,s=n&-n,r>=s||r===16&&(s&4194240)!==0))return n;if(i&4&&(i|=a&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=i;0<n;)a=31-mt(n),r=1<<a,i|=e[a],n&=~r;return i}function _h(e,n){switch(e){case 1:case 2:case 4:return n+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Eh(e,n){for(var a=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,s=e.pendingLanes;0<s;){var o=31-mt(s),c=1<<o,l=r[o];l===-1?(!(c&a)||c&i)&&(r[o]=_h(c,n)):l<=n&&(e.expiredLanes|=c),s&=~c}}function io(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function Iu(){var e=Ti;return Ti<<=1,!(Ti&4194240)&&(Ti=64),e}function cs(e){for(var n=[],a=0;31>a;a++)n.push(e);return n}function ci(e,n,a){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-mt(n),e[n]=a}function Lh(e,n){var a=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0<a;){var r=31-mt(a),s=1<<r;n[r]=0,i[r]=-1,e[r]=-1,a&=~s}}function il(e,n){var a=e.entangledLanes|=n;for(e=e.entanglements;a;){var i=31-mt(a),r=1<<i;r&n|e[i]&n&&(e[i]|=n),a&=~r}}var X=0;function Ru(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Ou,rl,Ku,Fu,Hu,ro=!1,Mi=[],Ut=null,Wt=null,Vt=null,Ua=new Map,Wa=new Map,Ht=[],Dh="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 oc(e,n){switch(e){case"focusin":case"focusout":Ut=null;break;case"dragenter":case"dragleave":Wt=null;break;case"mouseover":case"mouseout":Vt=null;break;case"pointerover":case"pointerout":Ua.delete(n.pointerId);break;case"gotpointercapture":case"lostpointercapture":Wa.delete(n.pointerId)}}function xa(e,n,a,i,r,s){return e===null||e.nativeEvent!==s?(e={blockedOn:n,domEventName:a,eventSystemFlags:i,nativeEvent:s,targetContainers:[r]},n!==null&&(n=ui(n),n!==null&&rl(n)),e):(e.eventSystemFlags|=i,n=e.targetContainers,r!==null&&n.indexOf(r)===-1&&n.push(r),e)}function Ih(e,n,a,i,r){switch(n){case"focusin":return Ut=xa(Ut,e,n,a,i,r),!0;case"dragenter":return Wt=xa(Wt,e,n,a,i,r),!0;case"mouseover":return Vt=xa(Vt,e,n,a,i,r),!0;case"pointerover":var s=r.pointerId;return Ua.set(s,xa(Ua.get(s)||null,e,n,a,i,r)),!0;case"gotpointercapture":return s=r.pointerId,Wa.set(s,xa(Wa.get(s)||null,e,n,a,i,r)),!0}return!1}function zu(e){var n=mn(e.target);if(n!==null){var a=Sn(n);if(a!==null){if(n=a.tag,n===13){if(n=Au(a),n!==null){e.blockedOn=n,Hu(e.priority,function(){Ku(a)});return}}else if(n===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Vi(e){if(e.blockedOn!==null)return!1;for(var n=e.targetContainers;0<n.length;){var a=so(e.domEventName,e.eventSystemFlags,n[0],e.nativeEvent);if(a===null){a=e.nativeEvent;var i=new a.constructor(a.type,a);eo=i,a.target.dispatchEvent(i),eo=null}else return n=ui(a),n!==null&&rl(n),e.blockedOn=a,!1;n.shift()}return!0}function lc(e,n,a){Vi(e)&&a.delete(n)}function Rh(){ro=!1,Ut!==null&&Vi(Ut)&&(Ut=null),Wt!==null&&Vi(Wt)&&(Wt=null),Vt!==null&&Vi(Vt)&&(Vt=null),Ua.forEac
vendor: 11,835 bytes, line 37
37h(lc),Wa.forEach(lc)}function ba(e,n){e.blockedOn===n&&(e.blockedOn=null,ro||(ro=!0,Ge.unstable_scheduleCallback(Ge.unstable_NormalPriority,Rh)))}function Va(e){function n(r){return ba(r,e)}if(0<Mi.length){ba(Mi[0],e);for(var a=1;a<Mi.length;a++){var i=Mi[a];i.blockedOn===e&&(i.blockedOn=null)}}for(Ut!==null&&ba(Ut,e),Wt!==null&&ba(Wt,e),Vt!==null&&ba(Vt,e),Ua.forEach(n),Wa.forEach(n),a=0;a<Ht.length;a++)i=Ht[a],i.blockedOn===e&&(i.blockedOn=null);for(;0<Ht.length&&(a=Ht[0],a.blockedOn===null);)zu(a),a.blockedOn===null&&Ht.shift()}var Wn=It.ReactCurrentBatchConfig,mr=!0;function Oh(e,n,a,i){var r=X,s=Wn.transition;Wn.transition=null;try{X=1,sl(e,n,a,i)}finally{X=r,Wn.transition=s}}function Kh(e,n,a,i){var r=X,s=Wn.transition;Wn.transition=null;try{X=4,sl(e,n,a,i)}finally{X=r,Wn.transition=s}}function sl(e,n,a,i){if(mr){var r=so(e,n,a,i);if(r===null)bs(e,n,i,pr,a),oc(e,i);else if(Ih(r,e,n,a,i))i.stopPropagation();else if(oc(e,i),n&4&&-1<Dh.indexOf(e)){for(;r!==null;){var s=ui(r);if(s!==null&&Ou(s),s=so(e,n,a,i),s===null&&bs(e,n,i,pr,a),s===r)break;r=s}r!==null&&i.stopPropagation()}else bs(e,n,i,null,a)}}var pr=null;function so(e,n,a,i){if(pr=null,e=nl(i),e=mn(e),e!==null)if(n=Sn(e),n===null)e=null;else if(a=n.tag,a===13){if(e=Au(n),e!==null)return e;e=null}else if(a===3){if(n.stateNode.current.memoizedState.isDehydrated)return n.tag===3?n.stateNode.containerInfo:null;e=null}else n!==e&&(e=null);return pr=e,null}function qu(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Sh()){case al:return 1;case Lu:return 4;case dr:case Th:return 16;case Du:return 536870912;default:return 16}default:return 16}}var qt=null,ol=null,Gi=null;function Bu(){if(Gi)return Gi;var e,n=ol,a=n.length,i,r="value"in qt?qt.value:qt.textContent,s=r.length;for(e=0;e<a&&n[e]===r[e];e++);var o=a-e;for(i=1;i<=o&&n[a-i]===r[s-i];i++);return Gi=r.slice(e,1<i?1-i:void 0)}function Ji(e){var n=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&n===13&&(e=13)):e=n,e===10&&(e=13),32<=e||e===13?e:0}function Ai(){return!0}function cc(){return!1}function Ye(e){function n(a,i,r,s,o){this._reactName=a,this._targetInst=r,this.type=i,this.nativeEvent=s,this.target=o,this.currentTarget=null;for(var c in e)e.hasOwnProperty(c)&&(a=e[c],this[c]=a?a(s):s[c]);return this.isDefaultPrevented=(s.defaultPrevented!=null?s.defaultPrevented:s.returnValue===!1)?Ai:cc,this.isPropagationStopped=cc,this}return ce(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Ai)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Ai)},persist:function(){},isPersistent:Ai}),n}var ra={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ll=Ye(ra),di=ce({},ra,{view:0,detail:0}),Fh=Ye(di),ds,us,va,Hr=ce({},di,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:cl,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==va&&(va&&e.type==="mousemove"?(ds=e.screenX-va.screenX,us=e.screenY-va.screenY):us=ds=0,va=e),ds)},movementY:function(e){return"movementY"in e?e.movementY:us}}),dc=Ye(Hr),Hh=ce({},Hr,{dataTransfer:0}),zh=Ye(Hh),qh=ce({},di,{relatedTarget:0}),ms=Ye(qh),Bh=ce({},ra,{animationName:0,elapsedTime:0,pseudoElement:0}),$h=Ye(Bh),Uh=ce({},ra,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Wh=Ye(Uh),Vh=ce({},ra,{data:0}),uc=Ye(Vh),Gh={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Jh={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"},Yh={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Qh(e){var n=this.nativeEvent;return n.getModifierState?n.getModifierState(e):(e=Yh[e])?!!n[e]:!1}function cl(){return Qh}var Zh=ce({},di,{key:function(e){if(e.key){var n=Gh[e.key]||e.key;if(n!=="Unidentified")return n}return e.type==="keypress"?(e=Ji(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Jh[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:cl,charCode:function(e){return e.type==="keypress"?Ji(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Ji(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Xh=Ye(Zh),eg=ce({},Hr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),mc=Ye(eg),tg=ce({},di,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:cl}),ng=Ye(tg),ag=ce({},ra,{propertyName:0,elapsedTime:0,pseudoElement:0}),ig=Ye(ag),rg=ce({},Hr,{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}),sg=Ye(rg),og=[9,13,27,32],dl=_t&&"CompositionEvent"in window,Da=null;_t&&"documentMode"in document&&(Da=document.documentMode);var lg=_t&&"TextEvent"in window&&!Da,$u=_t&&(!dl||Da&&8<Da&&11>=Da),pc=" ",hc=!1;function Uu(e,n){switch(e){case"keyup":return og.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wu(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ln=!1;function cg(e,n){switch(e){case"compositionend":return Wu(n);case"keypress":return n.which!==32?null:(hc=!0,pc);case"textInput":return e=n.data,e===pc&&hc?null:e;default:return null}}function dg(e,n){if(Ln)return e==="compositionend"||!dl&&Uu(e,n)?(e=Bu(),Gi=ol=qt=null,Ln=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1<n.char.length)return n.char;if(n.which)return String.fromCharCode(n.which)}return null;case"compositionend":return $u&&n.locale!=="ko"?null:n.data;default:return null}}var ug={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 gc(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n==="input"?!!ug[e.type]:n==="textarea"}function Vu(e,n,a,i){Nu(i),n=hr(n,"onChange"),0<n.length&&(a=new ll("onChange","change",null,a,i),e.push({event:a,listeners:n}))}var Ia=null,Ga=null;function mg(e){im(e,0)}function zr(e){var n=Rn(e);if(yu(n))return e}function pg(e,n){if(e==="change")return n}var Gu=!1;if(_t){var ps;if(_t){var hs="oninput"in document;if(!hs){var fc=document.createElement("div");fc.setAttribute("oninput","return;"),hs=typeof fc.oninput=="function"}ps=hs}else ps=!1;Gu=ps&&(!document.documentMode||9<document.documentMode)}function yc(){Ia&&(Ia.detachEvent("onpropertychange",Ju),Ga=Ia=null)}function Ju(e){if(e.propertyName==="value"&&zr(Ga)){var n=[];Vu(n,Ga,e,nl(e)),Mu(mg,n)}}function hg(e,n,a){e==="focusin"?(yc(),Ia=n,Ga=a,Ia.attachEvent("onpropertychange",Ju)):e==="focusout"&&yc()}function gg(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return zr(Ga)}function fg(e,n){if(e==="click")return zr(n)}function yg(e,n){if(e==="input"||e==="change")return zr(n)}function xg(e,n){return e===n&&(e!==0||1/e===1/n)||e!==e&&n!==n}var ht=typeof Object.is=="function"?Object.is:xg;function Ja(e,n){if(ht(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;var a=Object.keys(e),i=Object.keys(n);if(a.length!==i.length)return!1;for(i=0;i<a.length;i++){var r=a[i];if(!qs.call(n,r)||!ht(e[r],n[r]))return!1}return!0}function xc(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function bc(e,n){var a=xc(e);e=0;for(var i;a;){if(a.nodeType===3){if(i=e+a.textContent.length,e<=n&&i>=n)return{node:a,offset:n-e};e=i}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=xc(a)}}function Yu(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Yu(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function Qu(){for(var e=window,n=or();n instanceof e.HTMLIFrameElement;){try{var a=typeof n.contentWindow.location.href=="string"}catch{a=!1}if(a)e=n.contentWindow;else break;n=or(e.document)}return n}function ul(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function bg(e){var n=Qu(),a=e.focusedElem,i=e.selectionRange;if(n!==a&&a&&a.ownerDocument&&Yu(a.ownerDocument.documentElement,a)){if(i!==null&&ul(a)){if(n=i.start,e=i.end,e===void 0&&(e=n),"selectionStart"in a)a.selectionStart=n,a.selectionEnd=Math.min(e,a.value.length);else if(e=(n=a.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var r=a.textContent.length,s=Math.min(i.start,r);i=i.end===void 0?s:Math.min(i.end,r),!e.extend&&s>i&&(r=i,i=s,s=r),r=bc(a,s);var o=bc(a,i);r&&o&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(n=n.createRange(),n.setStart(r.node,r.offset),e.removeAllRanges(),s>i?(e.addRange(n),e.extend(o.node,o.offset)):(n.setEnd(o.node,o.offset),e.addRange(n)))}}for(n=[],e=a;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<n.length;a++)e=n[a],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var vg=_t&&"documentMode"in document&&11>=document.documentMode,Dn=null,oo=null,Ra=null,lo=!1;function vc(e,n,a){var i=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;lo||Dn==null||Dn!==or(i)||(i=Dn,"selectionStart"in i&&ul(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focu
vendor: 4,501 bytes, line 37
37sNode:i.focusNode,focusOffset:i.focusOffset}),Ra&&Ja(Ra,i)||(Ra=i,i=hr(oo,"onSelect"),0<i.length&&(n=new ll("onSelect","select",null,n,a),e.push({event:n,listeners:i}),n.target=Dn)))}function Pi(e,n){var a={};return a[e.toLowerCase()]=n.toLowerCase(),a["Webkit"+e]="webkit"+n,a["Moz"+e]="moz"+n,a}var In={animationend:Pi("Animation","AnimationEnd"),animationiteration:Pi("Animation","AnimationIteration"),animationstart:Pi("Animation","AnimationStart"),transitionend:Pi("Transition","TransitionEnd")},gs={},Zu={};_t&&(Zu=document.createElement("div").style,"AnimationEvent"in window||(delete In.animationend.animation,delete In.animationiteration.animation,delete In.animationstart.animation),"TransitionEvent"in window||delete In.transitionend.transition);function qr(e){if(gs[e])return gs[e];if(!In[e])return e;var n=In[e],a;for(a in n)if(n.hasOwnProperty(a)&&a in Zu)return gs[e]=n[a];return e}var Xu=qr("animationend"),em=qr("animationiteration"),tm=qr("animationstart"),nm=qr("transitionend"),am=new Map,wc="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function nn(e,n){am.set(e,n),Nn(n,[e])}for(var fs=0;fs<wc.length;fs++){var ys=wc[fs],wg=ys.toLowerCase(),Cg=ys[0].toUpperCase()+ys.slice(1);nn(wg,"on"+Cg)}nn(Xu,"onAnimationEnd");nn(em,"onAnimationIteration");nn(tm,"onAnimationStart");nn("dblclick","onDoubleClick");nn("focusin","onFocus");nn("focusout","onBlur");nn(nm,"onTransitionEnd");Qn("onMouseEnter",["mouseout","mouseover"]);Qn("onMouseLeave",["mouseout","mouseover"]);Qn("onPointerEnter",["pointerout","pointerover"]);Qn("onPointerLeave",["pointerout","pointerover"]);Nn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Nn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Nn("onBeforeInput",["compositionend","keypress","textInput","paste"]);Nn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Nn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Nn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _a="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),jg=new Set("cancel close invalid load scroll toggle".split(" ").concat(_a));function Cc(e,n,a){var i=e.type||"unknown-event";e.currentTarget=a,wh(i,n,void 0,e),e.currentTarget=null}function im(e,n){n=(n&4)!==0;for(var a=0;a<e.length;a++){var i=e[a],r=i.event;i=i.listeners;e:{var s=void 0;if(n)for(var o=i.length-1;0<=o;o--){var c=i[o],l=c.instance,d=c.currentTarget;if(c=c.listener,l!==s&&r.isPropagationStopped())break e;Cc(r,c,d),s=l}else for(o=0;o<i.length;o++){if(c=i[o],l=c.instance,d=c.currentTarget,c=c.listener,l!==s&&r.isPropagationStopped())break e;Cc(r,c,d),s=l}}}if(cr)throw e=ao,cr=!1,ao=null,e}function te(e,n){var a=n[ho];a===void 0&&(a=n[ho]=new Set);var i=e+"__bubble";a.has(i)||(rm(n,e,2,!1),a.add(i))}function xs(e,n,a){var i=0;n&&(i|=4),rm(a,e,i,n)}var _i="_reactListening"+Math.random().toString(36).slice(2);function Ya(e){if(!e[_i]){e[_i]=!0,mu.forEach(function(a){a!=="selectionchange"&&(jg.has(a)||xs(a,!1,e),xs(a,!0,e))});var n=e.nodeType===9?e:e.ownerDocument;n===null||n[_i]||(n[_i]=!0,xs("selectionchange",!1,n))}}function rm(e,n,a,i){switch(qu(n)){case 1:var r=Oh;break;case 4:r=Kh;break;default:r=sl}a=r.bind(null,n,a,e),r=void 0,!no||n!=="touchstart"&&n!=="touchmove"&&n!=="wheel"||(r=!0),i?r!==void 0?e.addEventListener(n,a,{capture:!0,passive:r}):e.addEventListener(n,a,!0):r!==void 0?e.addEventListener(n,a,{passive:r}):e.addEventListener(n,a,!1)}function bs(e,n,a,i,r){var s=i;if(!(n&1)&&!(n&2)&&i!==null)e:for(;;){if(i===null)return;var o=i.tag;if(o===3||o===4){var c=i.stateNode.containerInfo;
vendor: 22,687 bytes, lines 37-38
37if(c===r||c.nodeType===8&&c.parentNode===r)break;if(o===4)for(o=i.return;o!==null;){var l=o.tag;if((l===3||l===4)&&(l=o.stateNode.containerInfo,l===r||l.nodeType===8&&l.parentNode===r))return;o=o.return}for(;c!==null;){if(o=mn(c),o===null)return;if(l=o.tag,l===5||l===6){i=s=o;continue e}c=c.parentNode}}i=i.return}Mu(function(){var d=s,p=nl(a),u=[];e:{var m=am.get(e);if(m!==void 0){var h=ll,x=e;switch(e){case"keypress":if(Ji(a)===0)break e;case"keydown":case"keyup":h=Xh;break;case"focusin":x="focus",h=ms;break;case"focusout":x="blur",h=ms;break;case"beforeblur":case"afterblur":h=ms;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":h=dc;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":h=zh;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":h=ng;break;case Xu:case em:case tm:h=$h;break;case nm:h=ig;break;case"scroll":h=Fh;break;case"wheel":h=sg;break;case"copy":case"cut":case"paste":h=Wh;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":h=mc}var v=(n&4)!==0,C=!v&&e==="scroll",f=v?m!==null?m+"Capture":null:m;v=[];for(var b=d,y;b!==null;){y=b;var N=y.stateNode;if(y.tag===5&&N!==null&&(y=N,f!==null&&(N=$a(b,f),N!=null&&v.push(Qa(b,N,y)))),C)break;b=b.return}0<v.length&&(m=new h(m,x,null,a,p),u.push({event:m,listeners:v}))}}if(!(n&7)){e:{if(m=e==="mouseover"||e==="pointerover",h=e==="mouseout"||e==="pointerout",m&&a!==eo&&(x=a.relatedTarget||a.fromElement)&&(mn(x)||x[Et]))break e;if((h||m)&&(m=p.window===p?p:(m=p.ownerDocument)?m.defaultView||m.parentWindow:window,h?(x=a.relatedTarget||a.toElement,h=d,x=x?mn(x):null,x!==null&&(C=Sn(x),x!==C||x.tag!==5&&x.tag!==6)&&(x=null)):(h=null,x=d),h!==x)){if(v=dc,N="onMouseLeave",f="onMouseEnter",b="mouse",(e==="pointerout"||e==="pointerover")&&(v=mc,N="onPointerLeave",f="onPointerEnter",b="pointer"),C=h==null?m:Rn(h),y=x==null?m:Rn(x),m=new v(N,b+"leave",h,a,p),m.target=C,m.relatedTarget=y,N=null,mn(p)===d&&(v=new v(f,b+"enter",x,a,p),v.target=y,v.relatedTarget=C,N=v),C=N,h&&x)t:{for(v=h,f=x,b=0,y=v;y;y=Tn(y))b++;for(y=0,N=f;N;N=Tn(N))y++;for(;0<b-y;)v=Tn(v),b--;for(;0<y-b;)f=Tn(f),y--;for(;b--;){if(v===f||f!==null&&v===f.alternate)break t;v=Tn(v),f=Tn(f)}v=null}else v=null;h!==null&&jc(u,m,h,v,!1),x!==null&&C!==null&&jc(u,C,x,v,!0)}}e:{if(m=d?Rn(d):window,h=m.nodeName&&m.nodeName.toLowerCase(),h==="select"||h==="input"&&m.type==="file")var S=pg;else if(gc(m))if(Gu)S=yg;else{S=gg;var k=hg}else(h=m.nodeName)&&h.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(S=fg);if(S&&(S=S(e,d))){Vu(u,S,a,p);break e}k&&k(e,m,d),e==="focusout"&&(k=m._wrapperState)&&k.controlled&&m.type==="number"&&Js(m,"number",m.value)}switch(k=d?Rn(d):window,e){case"focusin":(gc(k)||k.contentEditable==="true")&&(Dn=k,oo=d,Ra=null);break;case"focusout":Ra=oo=Dn=null;break;case"mousedown":lo=!0;break;case"contextmenu":case"mouseup":case"dragend":lo=!1,vc(u,a,p);break;case"selectionchange":if(vg)break;case"keydown":case"keyup":vc(u,a,p)}var T;if(dl)e:{switch(e){case"compositionstart":var I="onCompositionStart";break e;case"compositionend":I="onCompositionEnd";break e;case"compositionupdate":I="onCompositionUpdate";break e}I=void 0}else Ln?Uu(e,a)&&(I="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(I="onCompositionStart");I&&($u&&a.locale!=="ko"&&(Ln||I!=="onCompositionStart"?I==="onCompositionEnd"&&Ln&&(T=Bu()):(qt=p,ol="value"in qt?qt.value:qt.textContent,Ln=!0)),k=hr(d,I),0<k.length&&(I=new uc(I,e,null,a,p),u.push({event:I,listeners:k}),T?I.data=T:(T=Wu(a),T!==null&&(I.data=T)))),(T=lg?cg(e,a):dg(e,a))&&(d=hr(d,"onBeforeInput"),0<d.length&&(p=new uc("onBeforeInput","beforeinput",null,a,p),u.push({event:p,listeners:d}),p.data=T))}im(u,n)})}function Qa(e,n,a){return{instance:e,listener:n,currentTarget:a}}function hr(e,n){for(var a=n+"Capture",i=[];e!==null;){var r=e,s=r.stateNode;r.tag===5&&s!==null&&(r=s,s=$a(e,a),s!=null&&i.unshift(Qa(e,s,r)),s=$a(e,n),s!=null&&i.push(Qa(e,s,r))),e=e.return}return i}function Tn(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function jc(e,n,a,i,r){for(var s=n._reactName,o=[];a!==null&&a!==i;){var c=a,l=c.alternate,d=c.stateNode;if(l!==null&&l===i)break;c.tag===5&&d!==null&&(c=d,r?(l=$a(a,s),l!=null&&o.unshift(Qa(a,l,c))):r||(l=$a(a,s),l!=null&&o.push(Qa(a,l,c)))),a=a.return}o.length!==0&&e.push({event:n,listeners:o})}var Ng=/\r\n?/g,Sg=/\u0000|\uFFFD/g;function Nc(e){return(typeof e=="string"?e:""+e).replace(Ng,`
38`).replace(Sg,"")}function Ei(e,n,a){if(n=Nc(n),Nc(e)!==n&&a)throw Error(P(425))}function gr(){}var co=null,uo=null;function mo(e,n){return e==="textarea"||e==="noscript"||typeof n.children=="string"||typeof n.children=="number"||typeof n.dangerouslySetInnerHTML=="object"&&n.dangerouslySetInnerHTML!==null&&n.dangerouslySetInnerHTML.__html!=null}var po=typeof setTimeout=="function"?setTimeout:void 0,Tg=typeof clearTimeout=="function"?clearTimeout:void 0,Sc=typeof Promise=="function"?Promise:void 0,kg=typeof queueMicrotask=="function"?queueMicrotask:typeof Sc<"u"?function(e){return Sc.resolve(null).then(e).catch(Mg)}:po;function Mg(e){setTimeout(function(){throw e})}function vs(e,n){var a=n,i=0;do{var r=a.nextSibling;if(e.removeChild(a),r&&r.nodeType===8)if(a=r.data,a==="/$"){if(i===0){e.removeChild(r),Va(n);return}i--}else a!=="$"&&a!=="$?"&&a!=="$!"||i++;a=r}while(a);Va(n)}function Gt(e){for(;e!=null;e=e.nextSibling){var n=e.nodeType;if(n===1||n===3)break;if(n===8){if(n=e.data,n==="$"||n==="$!"||n==="$?")break;if(n==="/$")return null}}return e}function Tc(e){e=e.previousSibling;for(var n=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"){if(n===0)return e;n--}else a==="/$"&&n++}e=e.previousSibling}return null}var sa=Math.random().toString(36).slice(2),wt="__reactFiber$"+sa,Za="__reactProps$"+sa,Et="__reactContainer$"+sa,ho="__reactEvents$"+sa,Ag="__reactListeners$"+sa,Pg="__reactHandles$"+sa;function mn(e){var n=e[wt];if(n)return n;for(var a=e.parentNode;a;){if(n=a[Et]||a[wt]){if(a=n.alternate,n.child!==null||a!==null&&a.child!==null)for(e=Tc(e);e!==null;){if(a=e[wt])return a;e=Tc(e)}return n}e=a,a=e.parentNode}return null}function ui(e){return e=e[wt]||e[Et],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Rn(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(P(33))}function Br(e){return e[Za]||null}var go=[],On=-1;function an(e){return{current:e}}function ne(e){0>On||(e.current=go[On],go[On]=null,On--)}function ee(e,n){On++,go[On]=e.current,e.current=n}var tn={},Pe=an(tn),qe=an(!1),bn=tn;function Zn(e,n){var a=e.type.contextTypes;if(!a)return tn;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===n)return i.__reactInternalMemoizedMaskedChildContext;var r={},s;for(s in a)r[s]=n[s];return i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=r),r}function Be(e){return e=e.childContextTypes,e!=null}function fr(){ne(qe),ne(Pe)}function kc(e,n,a){if(Pe.current!==tn)throw Error(P(168));ee(Pe,n),ee(qe,a)}function sm(e,n,a){var i=e.stateNode;if(n=n.childContextTypes,typeof i.getChildContext!="function")return a;i=i.getChildContext();for(var r in i)if(!(r in n))throw Error(P(108,hh(e)||"Unknown",r));return ce({},a,i)}function yr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||tn,bn=Pe.current,ee(Pe,e),ee(qe,qe.current),!0}function Mc(e,n,a){var i=e.stateNode;if(!i)throw Error(P(169));a?(e=sm(e,n,bn),i.__reactInternalMemoizedMergedChildContext=e,ne(qe),ne(Pe),ee(Pe,e)):ne(qe),ee(qe,a)}var kt=null,$r=!1,ws=!1;function om(e){kt===null?kt=[e]:kt.push(e)}function _g(e){$r=!0,om(e)}function rn(){if(!ws&&kt!==null){ws=!0;var e=0,n=X;try{var a=kt;for(X=1;e<a.length;e++){var i=a[e];do i=i(!0);while(i!==null)}kt=null,$r=!1}catch(r){throw kt!==null&&(kt=kt.slice(e+1)),Eu(al,rn),r}finally{X=n,ws=!1}}return null}var Kn=[],Fn=0,xr=null,br=0,Xe=[],et=0,vn=null,Mt=1,At="";function dn(e,n){Kn[Fn++]=br,Kn[Fn++]=xr,xr=e,br=n}function lm(e,n,a){Xe[et++]=Mt,Xe[et++]=At,Xe[et++]=vn,vn=e;var i=Mt;e=At;var r=32-mt(i)-1;i&=~(1<<r),a+=1;var s=32-mt(n)+r;if(30<s){var o=r-r%5;s=(i&(1<<o)-1).toString(32),i>>=o,r-=o,Mt=1<<32-mt(n)+r|a<<r|i,At=s+e}else Mt=1<<s|a<<r|i,At=e}function ml(e){e.return!==null&&(dn(e,1),lm(e,1,0))}function pl(e){for(;e===xr;)xr=Kn[--Fn],Kn[Fn]=null,br=Kn[--Fn],Kn[Fn]=null;for(;e===vn;)vn=Xe[--et],Xe[et]=null,At=Xe[--et],Xe[et]=null,Mt=Xe[--et],Xe[et]=null}var Ve=null,We=null,ae=!1,dt=null;function cm(e,n){var a=tt(5,null,null,0);a.elementType="DELETED",a.stateNode=n,a.return=e,n=e.deletions,n===null?(e.deletions=[a],e.flags|=16):n.push(a)}function Ac(e,n){switch(e.tag){case 5:var a=e.type;return n=n.nodeType!==1||a.toLowerCase()!==n.nodeName.toLowerCase()?null:n,n!==null?(e.stateNode=n,Ve=e,We=Gt(n.firstChild),!0):!1;case 6:return n=e.pendingProps===""||n.nodeType!==3?null:n,n!==null?(e.stateNode=n,Ve=e,We=null,!0):!1;case 13:return n=n.nodeType!==8?null:n,n!==null?(a=vn!==null?{id:Mt,overflow:At}:null,e.memoizedState={dehydrated:n,treeContext:a,retryLane:1073741824},a=tt(18,null,null,0),a.stateNode=n,a.return=e,e.child=a,Ve=e,We=null,!0):!1;default:return!1}}function fo(e){return(e.mode&1)!==0&&(e.flags&128)===0}function yo(e){if(ae){var n=We;if(n){var a=n;if(!Ac(e,n)){if(fo(e))throw Error(P(418));n=Gt(a.nextSibling);var i=Ve;n&&Ac(e,n)?cm(i,a):(e.flags=e.flags&-4097|2,ae=!1,Ve=e)}}else{if(fo(e))throw Error(P(418));e.flags=e.flags&-4097|2,ae=!1,Ve=e}}}function Pc(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Ve=e}function Li(e){if(e!==Ve)return!1;if(!ae)return Pc(e),ae=!0,!1;var n;if((n=e.tag!==3)&&!(n=e.tag!==5)&&(n=e.type,n=n!=="head"&&n!=="body"&&!mo(e.type,e.memoizedProps)),n&&(n=We)){if(fo(e))throw dm(),Error(P(418));for(;n;)cm(e,n),n=Gt(n.nextSibling)}if(Pc(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(P(317));e:{for(e=e.nextSibling,n=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"){if(n===0){We=Gt(e.nextSibling);break e}n--}else a!=="$"&&a!=="$!"&&a!=="$?"||n++}e=e.nextSibling}We=null}}else We=Ve?Gt(e.stateNode.nextSibling):null;return!0}function dm(){for(var e=We;e;)e=Gt(e.nextSibling)}function Xn(){We=Ve=null,ae=!1}function hl(e){dt===null?dt=[e]:dt.push(e)}var Eg=It.ReactCurrentBatchConfig;function wa(e,n,a){if(e=a.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(P(309));var i=a.stateNode}if(!i)throw Error(P(147,e));var r=i,s=""+e;return n!==null&&n.ref!==null&&typeof n.ref=="function"&&n.ref._stringRef===s?n.ref:(n=function(o){var c=r.refs;o===null?delete c[s]:c[s]=o},n._stringRef=s,n)}if(typeof e!="string")throw Error(P(284));if(!a._owner)throw Error(P(290,e))}return e}function Di(e,n){throw e=Object.prototype.toString.call(n),Error(P(31,e==="[object Object]"?"object with keys {"+Object.keys(n).join(", ")+"}":e))}function _c(e){var n=e._init;return n(e._payload)}function um(e){function n(f,b){if(e){var y=f.deletions;y===null?(f.deletions=[b],f.flags|=16):y.push(b)}}function a(f,b){if(!e)return null;for(;b!==null;)n(f,b),b=b.sibling;return null}function i(f,b){for(f=new Map;b!==null;)b.key!==null?f.set(b.key,b):f.set(b.index,b),b=b.sibling;return f}function r(f,b){return f=Zt(f,b),f.index=0,f.sibling=null,f}function s(f,b,y){return f.index=y,e?(y=f.alternate,y!==null?(y=y.index,y<b?(f.flags|=2,b):y):(f.flags|=2,b)):(f.flags|=1048576,b)}function o(f){return e&&f.alternate===null&&(f.flags|=2),f}function c(f,b,y,N){return b===null||b.tag!==6?(b=Ms(y,f.mode,N),b.return=f,b):(b=r(b,y),b.return=f,b)}function l(f,b,y,N){var S=y.type;return S===En?p(f,b,y.props.children,N,y.key):b!==null&&(b.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Kt&&_c(S)===b.type)?(N=r(b,y.props),N.ref=wa(f,b,y),N.return=f,N):(N=nr(y.type,y.key,y.props,null,f.mode,N),N.ref=wa(f,b,y),N.return=f,N)}function d(f,b,y,N){return b===null||b.tag!==4||b.stateNode.containerInfo!==y.containerInfo||b.stateNode.implementation!==y.implementation?(b=As(y,f.mode,N),b.return=f,b):(b=r(b,y.children||[]),b.return=f,b)}function p(f,b,y,N,S){return b===null||b.tag!==7?(b=yn(y,f.mode,N,S),b.return=f,b):(b=r(b,y),b.return=f,b)}function u(f,b,y){if(typeof b=="string"&&b!==""||typeof b=="number")return b=Ms(""+b,f.mode,y),b.return=f,b;if(typeof b=="object"&&b!==null){switch(b.$$typeof){case ji:return y=nr(b.type,b.key,b.props,null,f.mode,y),y.ref=wa(f,null,b),y.return=f,y;case _n:return b=As(b,f.mode,y),b.return=f,b;case Kt:var N=b._init;return u(f,N(b._payload),y)}if(Aa(b)||fa(b))return b=yn(b,f.mode,y,null),b.return=f,b;Di(f,b)}return null}function m(f,b,y,N){var S=b!==null?b.key:null;if(typeof y=="string"&&y!==""||typeof y=="number")return S!==null?null:c(f,b,""+y,N);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case ji:return y.key===S?l(f,b,y,N):null;case _n:return y.key===S?d(f,b,y,N):null;case Kt:return S=y._init,m(f,b,S(y._payload),N)}if(Aa(y)||fa(y))return S!==null?null:p(f,b,y,N,null);Di(f,y)}return null}function h(f,b,y,N,S){if(typeof N=="string"&&N!==""||typeof N=="number")return f=f.get(y)||null,c(b,f,""+N,S);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case ji:return f=f.get(N.key===null?y:N.key)||null,l(b,f,N,S);case _n:return f=f.get(N.key===null?y:N.key)||null,d(b,f,N,S);case Kt:var k=N._init;return h(f,b,y,k(N._payload),S)}if(Aa(N)||fa(N))return f=f.get(y)||null,p(b,f,N,S,null);Di(b,N)}return null}function x(f,b,y,N){for(var S=null,k=null,T=b,I=b=0,A=null;T!==null&&I<y.length;I++){T.index>I?(A=T,T=null):A=T.sibling;var D=m(f,T,y[I],N);if(D===null){T===null&&(T=A);break}e&&T&&D.alternate===null&&n(f,T),b=s(D,b,I),k===null?S=D:k.sibling=D,k=D,T=A}if(I===y.length)return a(f,T),ae&&dn(f,I),S;if(T===null){for(;I<y.length;I++)T=u(f,y[I],N),T!==null&&(b=s(T,b,I),k===null?S=T:k.sibling=T,k=T);return ae&&dn(f,I),S}for(T=i(f,T);I<y.length;I++)A=h(T,f,I,y[I],N),A!==null&&(e&&A.alternate!==null&&T.delete(A.key===null?I:A.key),b=s(A,b,I),k===null?S=A:k.sibling=A,k=A);return e&&T.forEach(function(H){return n(f,H)}),ae&&dn(f,I),S}function v(f,b,y,N){var S=fa(y);if(typeof S!="function")throw Error(P(150));if(y=S.call(y),y==null)throw Error(P(151));for(var k=S=null,T=b,I=b=0,A=null,D=y.next();T!==null&&!D.done;I++,D=y.next()){T.index>I?(A=T,T=null):A=T.sibling;var H=m(f,T,D.value,N);if(H===null){T===null&&(T=A);break}e&&T&&H.alternate===null&&n(f,T),b=s(H,b,I),k===null?S=H:k.sibling=H,k=H,T=A}if(D.done)return a(f,T),ae&&dn(f,I),S;if(T===null){for(;!D.done;I++,D=y.next())D=u(f,D.value,N),D!==null&&(b=s(D,b,I),k===null?S=D:k.sibling=D,k=D);return ae&&dn(f,I),S}for(T=i(f,T);!D.done;I++,D=y.next())D=h(T,f,I,D.value,N),D!==null&&(e&&D.alternate!==null&&T.delete(D.key===null?I:D.key),b=s(D,b,I),k===null?S=D:k.sibling=D,k=D);return e&&T.forEach(function(O){return n(f,O)}),ae&&dn(f,I),S}function C(f,b,y,N){if(typeof y=="object"&&y!==null&&y.type===En&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case ji:e:{for(var S=y.key,k=b;k!==null;){if(k.key===S){if(S=y.type,S===En){if(k.tag===7){a(f,k.sibling),b=r(k,y.props.children),b.return=f,f=b;break e}}else if(k.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Kt&&_c(S)===k.type){a(f,k.sibling),b=r(k,y.props),b.ref=wa(f,k,y),b.return=f,f=b;break e}a(f,k);break}else n(f,k);k=k.sibling}y.type===En?(b=yn(y.props.children,f.mode,N,y.key),b.return=f,f=b):(N=nr(y.type,y.key,y.props,null,f.mode,N),N.ref=wa(f,b,y),N.return=f,f=N)}return o(f);case _n:e:{for(k=y.key;b!==null;){if(b.key===k)if(b.tag===4&&b.stateNode.containerInfo===y.containerInfo&&b.stateNode.implementation===y.implementation){a(f,b.sibling),b=r(b,y.children||[]),b.return=f,f=b;break e}else{a(f,b);break}else n(f,b);b=b.sibling}b=As(y,f.mode,N),b.return=f,f=b}return o(f);case Kt:return k=y._init,C(f,b,k(y._payload),N)}if(Aa(y))return x(f,b,y,N);if(fa(y))return v(f,b,y,N);Di(f,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,b!==null&&b.tag===6?(a(f,b.sibling),b=r(b,y),b.return=f,f=b):(a(f,b),b=Ms(y,f.mode,N),b.return=f,f=b),o(f)):a(f,b)}return C}var ea=um(!0),mm=um(!1),vr=an(null),wr=null,Hn=null,gl=null;function fl(){gl=Hn=wr=null}function yl(e){var n=vr.current;ne(vr),e._currentValue=n}function xo(e,n,a){for(;e!==null;){var i=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,i!==null&&(i.childLanes|=n)):i!==null&&(i.childLanes&n)!==n&&(i.childLanes|=n),e===a)break;e=e.return}}function Vn(e,n){wr=e,gl=Hn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&n&&(He=!0),e.firstContext=null)}function at(e){var n=e._currentValue;if(gl!==e)if(e={context:e,memoizedValue:n,next:null},Hn===null){if(wr===null)throw Error(P(308));Hn=e,wr.dependencies={lanes:0,firstContext:e}}else Hn=Hn.next=e;return n}var pn=null;function xl(e){pn===null?pn=[e]:pn.push(e)}function pm(e,n,a,i){var r=n.interleaved;return r===null?(a.next=a,xl(n)):(a.next=r.next,r.next=a),n.interleaved=a,Lt(e,i)}function Lt(e,n){e.lanes|=n;var a=e.alternate;for(a!==null&&(a.lanes|=n),a=e,e=e.return;e!==null;)e.childLanes|=n,a=e.alternate,a!==null&&(a.childLanes|=n),a=e,e=e.return;return a.tag===3?a.stateNode:null}var Ft=!1;function bl(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function hm(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Pt(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function Jt(e,n,a){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,Z&2){var r=i.pending;return r===null?n.next=n:(n.next=r.next,r.next=n),i.pending=n,Lt(e,a)}return r=i.interleaved,r===null?(n.next=n,xl(i)):(n.next=r.next,r.next=n),i.interleaved=n,Lt(e,a)}function Yi(e,n,a){if(n=n.updateQueue,n!==null&&(n=n.shared,(a&4194240)!==0)){var i=n.lanes;i&=e.pendingLanes,a|=i,n.lanes=a,il(e,a)}}function Ec(e,n){var a=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,a===i)){var r=null,s=null;if(a=a.firstBaseUpdate,a!==null){do{var o={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};s===null?r=s=o:s=s.next=o,a=a.next}while(a!==null);s===null?r=s=n:s=s.next=n}else r=s=n;a={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:s,shared:i.shared,effects:i.effects},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=n:e.next=n,a.lastBaseUpdate=n}function Cr(e,n,a,i){var r=e.updateQueue;Ft=!1;var s=r.firstBaseUpdate,o=r.lastBaseUpdate,c=r.shared.pending;if(c!==null){r.shared.pending=null;var l=c,d=l.next;l.next=null,o===null?s=d:o.next=d,o=l;var p=e.alternate;p!==null&&(p=p.updateQueue,c=p.lastBaseUpdate,c!==o&&(c===null?p.firstBaseUpdate=d:c.next=d,p.lastBaseUpdate=l))}if(s!==null){var u=r.baseState;o=0,p=d=l=null,c=s;do{var m=c.lane,h=c.eventTime;if((i&m)===m){p!==null&&(p=p.next={eventTime:h,lane:0,tag:c.tag,payload:c.payload,callback:c.callback,next:null});e:{var x=e,v=c;switch(m=n,h=a,v.tag){case 1:if(x=v.payload,typeof x=="function"){u=x.call(h,u,m);break e}u=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=v.payload,m=typeof x=="function"?x.call(h,u,m):x,m==null)break e;u=ce({},u,m);break e;case 2:Ft=!0}}c.callback!==null&&c.lane!==0&&(e.flags|=64,m=r.effects,m===null?r.effects=[c]:m.push(c))}else h={eventTime:h,lane:m,tag:c.tag,payload:c.payload,callback:c.callback,next:null},p===null?(d=p=h,l=u):p=p.next=h,o|=m;if(c=c.next,c===null){if(c=r.shared.pending,c===null)break;m=c,c=m.next,m.next=null,r.lastBaseUpdate=m,r.shared.pending=null}}while(!0);if(p===null&&(l=u),r.baseState=l,r.firstBaseUpdate=d,r.lastBaseUpdate=p,n=r.shared.interleaved,n!==null){r=n;do o|=r.lane,r=r.next;while(r!==n)}else s===null&&(r.shared.lanes=0);Cn|=o,e.lanes=o,e.memoizedState=u}}function Lc(e,n,a){if(e=n.effects,n.effects=null,e!==null)for(n=0;n<e.length;n++){var i=e[n],r=i.callback;if(r!==null){if(i.callback=null,i=a,typeof r!="function")throw Error(P(191,r));r.call(i)}}}var mi={},Nt=an(mi),Xa=an(mi),ei=an(mi);function hn(e){if(e===mi)throw Error(P(174));return e}function vl(e,n){switch(ee(ei,n),ee(Xa,e),ee(Nt,mi),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:Qs(null,"");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=Qs(n,e)}ne(Nt),ee(Nt,n)}function ta(){ne(Nt),ne(Xa),ne(ei)}function gm(e){hn(ei.current);var n=hn(Nt.current),a=Qs(n,e.type);n!==a&&(ee(Xa,e),ee(Nt,a))}function wl(e){Xa.current===e&&(ne(Nt),ne(Xa))}var oe=an(0);function jr(e){for(var n=e;n!==null;){if(n.tag===13){var a=n.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var Cs=[];function Cl(){for(var e=0;e<Cs.length;e++)Cs[e]._workInProgressVersionPrimary=null;Cs.length=0}var Qi=It.ReactCurrentDispatcher,js=It.ReactCurrentBatchConfig,wn=0,le=null,xe=null,ve=null,Nr=!1,Oa=!1,ti=0,Lg=0;function ke(){throw Error(P(321))}function jl(e,n){if(n===null)return!1;for(var a=0;a<n.length&&a<e.length;a++)if(!ht(e[a],n[a]))return!1;return!0}function Nl(e,n,a,i,r,s){if(wn=s,le=n,n.memoizedState=null,n.updateQueue=null,n.lanes=0,Qi.current=e===null||e.memoizedState===null?Og:Kg,e=a(i,r),Oa){s=0;do{if(Oa=!1,ti=0,25<=s)throw Error(P(301));s+=1,ve=xe=null,n.updateQueue=null,Qi.current=Fg,e=a(i,r)}while(Oa)}if(Qi.current=Sr,n=xe!==null&&xe.next!==null,wn=0,ve=xe=le=null,Nr=!1,n)throw Error(P(300));return e}function Sl(){var e=ti!==0;return ti=0,e}function vt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ve===null?le.memoizedState=ve=e:ve=ve.next=e,ve}function it(){if(xe===null){var e=le.alternate;e=e!==null?e.memoizedState:null}else e=xe.next;var n=ve===null?le.memoizedState:ve.next;if(n!==null)ve=n,xe=e;else{if(e===null)throw Error(P(310));xe=e,e={memoizedState:xe.memoizedState,baseState:xe.baseState,baseQueue:xe.baseQueue,queue:xe.queue,next:null},ve===null?le.memoizedState=ve=e:ve=ve.next=e}return ve}function ni(e,n){return typeof n=="function"?n(e):n}function Ns(e){var n=it(),a=n.queue;if(a===null)throw Error(P(311));a.lastRenderedReducer=e;var i=xe,r=i.baseQueue,s=a.pending;if(s!==null){if(r!==null){var o=r.next;
vendor: 5,611 bytes, line 38
38r.next=s.next,s.next=o}i.baseQueue=r=s,a.pending=null}if(r!==null){s=r.next,i=i.baseState;var c=o=null,l=null,d=s;do{var p=d.lane;if((wn&p)===p)l!==null&&(l=l.next={lane:0,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null}),i=d.hasEagerState?d.eagerState:e(i,d.action);else{var u={lane:p,action:d.action,hasEagerState:d.hasEagerState,eagerState:d.eagerState,next:null};l===null?(c=l=u,o=i):l=l.next=u,le.lanes|=p,Cn|=p}d=d.next}while(d!==null&&d!==s);l===null?o=i:l.next=c,ht(i,n.memoizedState)||(He=!0),n.memoizedState=i,n.baseState=o,n.baseQueue=l,a.lastRenderedState=i}if(e=a.interleaved,e!==null){r=e;do s=r.lane,le.lanes|=s,Cn|=s,r=r.next;while(r!==e)}else r===null&&(a.lanes=0);return[n.memoizedState,a.dispatch]}function Ss(e){var n=it(),a=n.queue;if(a===null)throw Error(P(311));a.lastRenderedReducer=e;var i=a.dispatch,r=a.pending,s=n.memoizedState;if(r!==null){a.pending=null;var o=r=r.next;do s=e(s,o.action),o=o.next;while(o!==r);ht(s,n.memoizedState)||(He=!0),n.memoizedState=s,n.baseQueue===null&&(n.baseState=s),a.lastRenderedState=s}return[s,i]}function fm(){}function ym(e,n){var a=le,i=it(),r=n(),s=!ht(i.memoizedState,r);if(s&&(i.memoizedState=r,He=!0),i=i.queue,Tl(vm.bind(null,a,i,e),[e]),i.getSnapshot!==n||s||ve!==null&&ve.memoizedState.tag&1){if(a.flags|=2048,ai(9,bm.bind(null,a,i,r,n),void 0,null),Ce===null)throw Error(P(349));wn&30||xm(a,n,r)}return r}function xm(e,n,a){e.flags|=16384,e={getSnapshot:n,value:a},n=le.updateQueue,n===null?(n={lastEffect:null,stores:null},le.updateQueue=n,n.stores=[e]):(a=n.stores,a===null?n.stores=[e]:a.push(e))}function bm(e,n,a,i){n.value=a,n.getSnapshot=i,wm(n)&&Cm(e)}function vm(e,n,a){return a(function(){wm(n)&&Cm(e)})}function wm(e){var n=e.getSnapshot;e=e.value;try{var a=n();return!ht(e,a)}catch{return!0}}function Cm(e){var n=Lt(e,1);n!==null&&pt(n,e,1,-1)}function Dc(e){var n=vt();return typeof e=="function"&&(e=e()),n.memoizedState=n.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ni,lastRenderedState:e},n.queue=e,e=e.dispatch=Rg.bind(null,le,e),[n.memoizedState,e]}function ai(e,n,a,i){return e={tag:e,create:n,destroy:a,deps:i,next:null},n=le.updateQueue,n===null?(n={lastEffect:null,stores:null},le.updateQueue=n,n.lastEffect=e.next=e):(a=n.lastEffect,a===null?n.lastEffect=e.next=e:(i=a.next,a.next=e,e.next=i,n.lastEffect=e)),e}function jm(){return it().memoizedState}function Zi(e,n,a,i){var r=vt();le.flags|=e,r.memoizedState=ai(1|n,a,void 0,i===void 0?null:i)}function Ur(e,n,a,i){var r=it();i=i===void 0?null:i;var s=void 0;if(xe!==null){var o=xe.memoizedState;if(s=o.destroy,i!==null&&jl(i,o.deps)){r.memoizedState=ai(n,a,s,i);return}}le.flags|=e,r.memoizedState=ai(1|n,a,s,i)}function Ic(e,n){return Zi(8390656,8,e,n)}function Tl(e,n){return Ur(2048,8,e,n)}function Nm(e,n){return Ur(4,2,e,n)}function Sm(e,n){return Ur(4,4,e,n)}function Tm(e,n){if(typeof n=="function")return e=e(),n(e),function(){n(null)};if(n!=null)return e=e(),n.current=e,function(){n.current=null}}function km(e,n,a){return a=a!=null?a.concat([e]):null,Ur(4,4,Tm.bind(null,n,e),a)}function kl(){}function Mm(e,n){var a=it();n=n===void 0?null:n;var i=a.memoizedState;return i!==null&&n!==null&&jl(n,i[1])?i[0]:(a.memoizedState=[e,n],e)}function Am(e,n){var a=it();n=n===void 0?null:n;var i=a.memoizedState;return i!==null&&n!==null&&jl(n,i[1])?i[0]:(e=e(),a.memoizedState=[e,n],e)}function Pm(e,n,a){return wn&21?(ht(a,n)||(a=Iu(),le.lanes|=a,Cn|=a,e.baseState=!0),n):(e.baseState&&(e.baseState=!1,He=!0),e.memoizedState=a)}function Dg(e,n){var a=X;X=a!==0&&4>a?a:4,e(!0);var i=js.transition;js.transition={};try{e(!1),n()}finally{X=a,js.transition=i}}function _m(){return it().memoizedState}function Ig(e,n,a){var i=Qt(e);if(a={lane:i,action:a,hasEagerState:!1,eagerState:null,next:null},Em(e))Lm(n,a);else if(a=pm(e,n,a,i),a!==null){var r=De();pt(a,e,i,r),Dm(a,n,i)}}function Rg(e,n,a){var i=Qt(e),r={lane:i,action:a,hasEagerState:!1,eagerState:null,next:null};if(Em(e))Lm(n,r);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=n.lastRenderedReducer,s!==null))try{var o=n.lastRenderedState,c=s(o,a);if(r.hasEagerState=!0,r.eagerState=c,ht(c,o)){var l=n.interleaved;l===null?(r.next=r,xl(n)):(r.next=l.next,l.next=r),n.interleaved=r;return}}catch{}finally{}a=pm(e,n,r,i),a!==null&&(r=De(),pt(a,e,i,r),Dm(a,n,i))}}function Em(e){var n=e.alternate;return e===le||n!==null&&n===le}function Lm(e,n){Oa=Nr=!0;var a=e.pending;a===null?n.next=n:(n.next=a.next,a.next=n),e.pending=n}function Dm(e,n,a){if(a&4194240){var i=n.lanes;i&=e.pendingLanes,a|=i,n.lanes=a,il(e,a)}}var Sr={readContext:at,useCallback:ke,useContext:ke,useEffect:ke,useImperativeHandle:ke,useInsertionEffect:ke,useLayoutEffect:ke,useMemo:ke,useReducer:ke,useRef:ke,useState:ke,useDebugValue:ke,useDeferredValue:ke,useTransition:ke,useMutableSource:ke,useSyncExternalStore:ke,useId:ke,unstable_isNewReconciler:!1},Og={readContext:at,useCallback:function(e,n){return vt().memoizedState=[e,n===void 0?null:n],e},useContext:at,useEffect:Ic,useImperativeHandle:function(e,n,a){return a=a!=null?a.concat([e]):null,Zi(4194308,4,Tm.bind(null,n,e),a)},useLayoutEffect:function(e,n){return Zi(4194308,4,e,n)},useInsertionEffect:function(e,n){return Zi(4,2,e,n)},useMemo:function(e,n){var a=vt();return n=n===void 0?null:n,e=e(),a.memoizedState=[e,n],e},useReducer:function(e,n,a){var i=vt();return n=a!==void 0?a(n):n,i.memoizedState=i.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},i.queue=e,e=e.dispatch=Ig.bind(null,le,e),[i.memoizedState,e]}
vendor: 4,766 bytes, lines 38-40
38,useRef:function(e){var n=vt();return e={current:e},n.memoizedState=e},useState:Dc,useDebugValue:kl,useDeferredValue:function(e){return vt().memoizedState=e},useTransition:function(){var e=Dc(!1),n=e[0];return e=Dg.bind(null,e[1]),vt().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,a){var i=le,r=vt();if(ae){if(a===void 0)throw Error(P(407));a=a()}else{if(a=n(),Ce===null)throw Error(P(349));wn&30||xm(i,n,a)}r.memoizedState=a;var s={value:a,getSnapshot:n};return r.queue=s,Ic(vm.bind(null,i,s,e),[e]),i.flags|=2048,ai(9,bm.bind(null,i,s,a,n),void 0,null),a},useId:function(){var e=vt(),n=Ce.identifierPrefix;if(ae){var a=At,i=Mt;a=(i&~(1<<32-mt(i)-1)).toString(32)+a,n=":"+n+"R"+a,a=ti++,0<a&&(n+="H"+a.toString(32)),n+=":"}else a=Lg++,n=":"+n+"r"+a.toString(32)+":";return e.memoizedState=n},unstable_isNewReconciler:!1},Kg={readContext:at,useCallback:Mm,useContext:at,useEffect:Tl,useImperativeHandle:km,useInsertionEffect:Nm,useLayoutEffect:Sm,useMemo:Am,useReducer:Ns,useRef:jm,useState:function(){return Ns(ni)},useDebugValue:kl,useDeferredValue:function(e){var n=it();return Pm(n,xe.memoizedState,e)},useTransition:function(){var e=Ns(ni)[0],n=it().memoizedState;return[e,n]},useMutableSource:fm,useSyncExternalStore:ym,useId:_m,unstable_isNewReconciler:!1},Fg={readContext:at,useCallback:Mm,useContext:at,useEffect:Tl,useImperativeHandle:km,useInsertionEffect:Nm,useLayoutEffect:Sm,useMemo:Am,useReducer:Ss,useRef:jm,useState:function(){return Ss(ni)},useDebugValue:kl,useDeferredValue:function(e){var n=it();return xe===null?n.memoizedState=e:Pm(n,xe.memoizedState,e)},useTransition:function(){var e=Ss(ni)[0],n=it().memoizedState;return[e,n]},useMutableSource:fm,useSyncExternalStore:ym,useId:_m,unstable_isNewReconciler:!1};function lt(e,n){if(e&&e.defaultProps){n=ce({},n),e=e.defaultProps;for(var a in e)n[a]===void 0&&(n[a]=e[a]);return n}return n}function bo(e,n,a,i){n=e.memoizedState,a=a(i,n),a=a==null?n:ce({},n,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var Wr={isMounted:function(e){return(e=e._reactInternals)?Sn(e)===e:!1},enqueueSetState:function(e,n,a){e=e._reactInternals;var i=De(),r=Qt(e),s=Pt(i,r);s.payload=n,a!=null&&(s.callback=a),n=Jt(e,s,r),n!==null&&(pt(n,e,r,i),Yi(n,e,r))},enqueueReplaceState:function(e,n,a){e=e._reactInternals;var i=De(),r=Qt(e),s=Pt(i,r);s.tag=1,s.payload=n,a!=null&&(s.callback=a),n=Jt(e,s,r),n!==null&&(pt(n,e,r,i),Yi(n,e,r))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var a=De(),i=Qt(e),r=Pt(a,i);r.tag=2,n!=null&&(r.callback=n),n=Jt(e,r,i),n!==null&&(pt(n,e,i,a),Yi(n,e,i))}};function Rc(e,n,a,i,r,s,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(i,s,o):n.prototype&&n.prototype.isPureReactComponent?!Ja(a,i)||!Ja(r,s):!0}function Im(e,n,a){var i=!1,r=tn,s=n.contextType;return typeof s=="object"&&s!==null?s=at(s):(r=Be(n)?bn:Pe.current,i=n.contextTypes,s=(i=i!=null)?Zn(e,r):tn),n=new n(a,s),e.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=Wr,e.stateNode=n,n._reactInternals=e,i&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=s),n}function Oc(e,n,a,i){e=n.state,typeof n.componentWillReceiveProps=="function"&&n.componentWillReceiveProps(a,i),typeof n.UNSAFE_componentWillReceiveProps=="function"&&n.UNSAFE_componentWillReceiveProps(a,i),n.state!==e&&Wr.enqueueReplaceState(n,n.state,null)}function vo(e,n,a,i){var r=e.stateNode;r.props=a,r.state=e.memoizedState,r.refs={},bl(e);var s=n.contextType;typeof s=="object"&&s!==null?r.context=at(s):(s=Be(n)?bn:Pe.current,r.context=Zn(e,s)),r.state=e.memoizedState,s=n.getDerivedStateFromProps,typeof s=="function"&&(bo(e,n,s,a),r.state=e.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(n=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),n!==r.state&&Wr.enqueueReplaceState(r,r.state,null),Cr(e,a,r,i),r.state=e.memoizedState),typeof r.componentDidMount=="function"&&(e.flags|=4194308)}function na(e,n){try{var a="",i=n;do a+=ph(i),i=i.return;while(i);var r=a}catch(s){r=`
39Error generating stack: `+s.message+`
40`+s.stack}return{value:e,source:n,stack:r,digest:null}}function Ts(e,n,a){return{value:e,source:null,stack:a??null,digest:n??null}}function wo(e,n){try{console.error(n.value)}catch(a){setTimeout(function(){throw a})}}var Hg=typeof WeakMap=="function"?WeakMap:Map;function Rm(e,n,a){a=Pt(-1,a),a.tag=3,a.payload={element:null};var i=n.value;return a.callback=function(){kr||(kr=!0,_o=i),wo(e,n)},a}
vendor: 7,162 bytes, line 40
40function Om(e,n,a){a=Pt(-1,a),a.tag=3;var i=e.type.getDerivedStateFromError;if(typeof i=="function"){var r=n.value;a.payload=function(){return i(r)},a.callback=function(){wo(e,n)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(a.callback=function(){wo(e,n),typeof i!="function"&&(Yt===null?Yt=new Set([this]):Yt.add(this));var o=n.stack;this.componentDidCatch(n.value,{componentStack:o!==null?o:""})}),a}function Kc(e,n,a){var i=e.pingCache;if(i===null){i=e.pingCache=new Hg;var r=new Set;i.set(n,r)}else r=i.get(n),r===void 0&&(r=new Set,i.set(n,r));r.has(a)||(r.add(a),e=ef.bind(null,e,n,a),n.then(e,e))}function Fc(e){do{var n;if((n=e.tag===13)&&(n=e.memoizedState,n=n!==null?n.dehydrated!==null:!0),n)return e;e=e.return}while(e!==null);return null}function Hc(e,n,a,i,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===n?e.flags|=65536:(e.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(n=Pt(-1,1),n.tag=2,Jt(a,n,1))),a.lanes|=1),e)}var zg=It.ReactCurrentOwner,He=!1;function Le(e,n,a,i){n.child=e===null?mm(n,null,a,i):ea(n,e.child,a,i)}function zc(e,n,a,i,r){a=a.render;var s=n.ref;return Vn(n,r),i=Nl(e,n,a,i,s,r),a=Sl(),e!==null&&!He?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~r,Dt(e,n,r)):(ae&&a&&ml(n),n.flags|=1,Le(e,n,i,r),n.child)}function qc(e,n,a,i,r){if(e===null){var s=a.type;return typeof s=="function"&&!Il(s)&&s.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(n.tag=15,n.type=s,Km(e,n,s,i,r)):(e=nr(a.type,null,i,n,n.mode,r),e.ref=n.ref,e.return=n,n.child=e)}if(s=e.child,!(e.lanes&r)){var o=s.memoizedProps;if(a=a.compare,a=a!==null?a:Ja,a(o,i)&&e.ref===n.ref)return Dt(e,n,r)}return n.flags|=1,e=Zt(s,i),e.ref=n.ref,e.return=n,n.child=e}function Km(e,n,a,i,r){if(e!==null){var s=e.memoizedProps;if(Ja(s,i)&&e.ref===n.ref)if(He=!1,n.pendingProps=i=s,(e.lanes&r)!==0)e.flags&131072&&(He=!0);else return n.lanes=e.lanes,Dt(e,n,r)}return Co(e,n,a,i,r)}function Fm(e,n,a){var i=n.pendingProps,r=i.children,s=e!==null?e.memoizedState:null;if(i.mode==="hidden")if(!(n.mode&1))n.memoizedState={baseLanes:0,cachePool:null,transitions:null},ee(qn,Ue),Ue|=a;else{if(!(a&1073741824))return e=s!==null?s.baseLanes|a:a,n.lanes=n.childLanes=1073741824,n.memoizedState={baseLanes:e,cachePool:null,transitions:null},n.updateQueue=null,ee(qn,Ue),Ue|=e,null;n.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=s!==null?s.baseLanes:a,ee(qn,Ue),Ue|=i}else s!==null?(i=s.baseLanes|a,n.memoizedState=null):i=a,ee(qn,Ue),Ue|=i;return Le(e,n,r,a),n.child}function Hm(e,n){var a=n.ref;(e===null&&a!==null||e!==null&&e.ref!==a)&&(n.flags|=512,n.flags|=2097152)}function Co(e,n,a,i,r){var s=Be(a)?bn:Pe.current;return s=Zn(n,s),Vn(n,r),a=Nl(e,n,a,i,s,r),i=Sl(),e!==null&&!He?(n.updateQueue=e.updateQueue,n.flags&=-2053,e.lanes&=~r,Dt(e,n,r)):(ae&&i&&ml(n),n.flags|=1,Le(e,n,a,r),n.child)}function Bc(e,n,a,i,r){if(Be(a)){var s=!0;yr(n)}else s=!1;if(Vn(n,r),n.stateNode===null)Xi(e,n),Im(n,a,i),vo(n,a,i,r),i=!0;else if(e===null){var o=n.stateNode,c=n.memoizedProps;o.props=c;var l=o.context,d=a.contextType;typeof d=="object"&&d!==null?d=at(d):(d=Be(a)?bn:Pe.current,d=Zn(n,d));var p=a.getDerivedStateFromProps,u=typeof p=="function"||typeof o.getSnapshotBeforeUpdate=="function";u||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(c!==i||l!==d)&&Oc(n,o,i,d),Ft=!1;var m=n.memoizedState;o.state=m,Cr(n,i,o,r),l=n.memoizedState,c!==i||m!==l||qe.current||Ft?(typeof p=="function"&&(bo(n,a,p,i),l=n.memoizedState),(c=Ft||Rc(n,a,c,i,m,l,d))?(u||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(n.flags|=4194308)):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),n.memoizedProps=i,n.memoizedState=l),o.props=i,o.state=l,o.context=d,i=c):(typeof o.componentDidMount=="function"&&(n.flags|=4194308),i=!1)}else{o=n.stateNode,hm(e,n),c=n.memoizedProps,d=n.type===n.elementType?c:lt(n.type,c),o.props=d,u=n.pendingProps,m=o.context,l=a.contextType,typeof l=="object"&&l!==null?l=at(l):(l=Be(a)?bn:Pe.current,l=Zn(n,l));var h=a.getDerivedStateFromProps;(p=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(c!==u||m!==l)&&Oc(n,o,i,l),Ft=!1,m=n.memoizedState,o.state=m,Cr(n,i,o,r);var x=n.memoizedState;c!==u||m!==x||qe.current||Ft?(typeof h=="function"&&(bo(n,a,h,i),x=n.memoizedState),(d=Ft||Rc(n,a,d,i,m,x,l)||!1)?(p||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,x,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,x,l)),typeof o.componentDidUpdate=="function"&&(n.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(n.flags|=1024)):(typeof o.componentDidUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(n.flags|=1024),n.memoizedProps=i,n.memoizedState=x),o.props=i,o.state=x,o.context=l,i=d):(typeof o.componentDidUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(n.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||c===e.memoizedProps&&m===e.memoizedState||(n.flags|=1024),i=!1)}return jo(e,n,a,i,s,r)}function jo(e,n,a,i,r,s){Hm(e,n);var o=(n.flags&128)!==0;if(!i&&!o)return r&&Mc(n,a,!1),Dt(e,n,s);i=n.stateNode,zg.current=n;var c=o&&typeof a.getDerivedStateFromError!="function"?null:i.render();return n.flags|=1,e!==null&&o?(n.child=ea(n,e.child,null,s),n.child=ea(n,null,c,s)):Le(e,n,c,s),n.memoizedState=i.state,r&&Mc(n,a,!0),n.child}function zm(e){var n=e.stateNode;n.pendingContext?kc(e,n.pendingContext,n.pendingContext!==n.context):n.context&&kc(e,n.context,!1),vl(e,n.containerInfo)}function $c(e,n,a,i,r){return Xn(),hl(r),n.flags|=256,Le(e,n,a,i),n.child}var No={dehydrated:null,treeContext:null,retryLane:0};function So(e){return{baseLanes:e,cachePool:null,transitions:null}}function qm(e,n,a){var i=n.pendingProps,r=oe.current,s=!1,o=(n.flags&128)!==0,c;if((c=o)||(c=e!==null&&e.memoizedState===null?!1:(r&2)!==0),c?(s=!0,n.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),ee(oe,r&1),e===null)return yo(n),e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(n.mode&1?e.data==="$!"?n.lanes=8:n.lanes=1073741824:n.lanes=1,null):(o=i.children,e=i.fallback,s?(i=n.mode,s=n.child,o={mode:"hidden",children:o},!(i&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=Jr(o,i,0,null),e=yn(e,i,a,null),s.return=n,e.return=n,s.sibling=e,n.child=s,n.child.memoizedState=So(a),n.memoizedState=No,e):Ml(n,o));if(r=e.memoizedState,r!==null&&(c=r.dehydrated,c!==null))return qg(e,n,o,i,c,r,a);if(s){s=i.fallback,o=n.mode,r=e.child,c=r.sibling;var l={mode:"hidden",children:i.children};return!(o&1)&&n.child!==r?(i=n.child,i.childLanes=0,i.pendingProps=l,n.deleti
vendor: 8,670 bytes, line 40
40ons=null):(i=Zt(r,l),i.subtreeFlags=r.subtreeFlags&14680064),c!==null?s=Zt(c,s):(s=yn(s,o,a,null),s.flags|=2),s.return=n,i.return=n,i.sibling=s,n.child=i,i=s,s=n.child,o=e.child.memoizedState,o=o===null?So(a):{baseLanes:o.baseLanes|a,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=e.childLanes&~a,n.memoizedState=No,i}return s=e.child,e=s.sibling,i=Zt(s,{mode:"visible",children:i.children}),!(n.mode&1)&&(i.lanes=a),i.return=n,i.sibling=null,e!==null&&(a=n.deletions,a===null?(n.deletions=[e],n.flags|=16):a.push(e)),n.child=i,n.memoizedState=null,i}function Ml(e,n){return n=Jr({mode:"visible",children:n},e.mode,0,null),n.return=e,e.child=n}function Ii(e,n,a,i){return i!==null&&hl(i),ea(n,e.child,null,a),e=Ml(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function qg(e,n,a,i,r,s,o){if(a)return n.flags&256?(n.flags&=-257,i=Ts(Error(P(422))),Ii(e,n,o,i)):n.memoizedState!==null?(n.child=e.child,n.flags|=128,null):(s=i.fallback,r=n.mode,i=Jr({mode:"visible",children:i.children},r,0,null),s=yn(s,r,o,null),s.flags|=2,i.return=n,s.return=n,i.sibling=s,n.child=i,n.mode&1&&ea(n,e.child,null,o),n.child.memoizedState=So(o),n.memoizedState=No,s);if(!(n.mode&1))return Ii(e,n,o,null);if(r.data==="$!"){if(i=r.nextSibling&&r.nextSibling.dataset,i)var c=i.dgst;return i=c,s=Error(P(419)),i=Ts(s,i,void 0),Ii(e,n,o,i)}if(c=(o&e.childLanes)!==0,He||c){if(i=Ce,i!==null){switch(o&-o){case 4:r=2;break;case 16:r=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(i.suspendedLanes|o)?0:r,r!==0&&r!==s.retryLane&&(s.retryLane=r,Lt(e,r),pt(i,e,r,-1))}return Dl(),i=Ts(Error(P(421))),Ii(e,n,o,i)}return r.data==="$?"?(n.flags|=128,n.child=e.child,n=tf.bind(null,e),r._reactRetry=n,null):(e=s.treeContext,We=Gt(r.nextSibling),Ve=n,ae=!0,dt=null,e!==null&&(Xe[et++]=Mt,Xe[et++]=At,Xe[et++]=vn,Mt=e.id,At=e.overflow,vn=n),n=Ml(n,i.children),n.flags|=4096,n)}function Uc(e,n,a){e.lanes|=n;var i=e.alternate;i!==null&&(i.lanes|=n),xo(e.return,n,a)}function ks(e,n,a,i,r){var s=e.memoizedState;s===null?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:i,tail:a,tailMode:r}:(s.isBackwards=n,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=a,s.tailMode=r)}function Bm(e,n,a){var i=n.pendingProps,r=i.revealOrder,s=i.tail;if(Le(e,n,i.children,a),i=oe.current,i&2)i=i&1|2,n.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=n.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Uc(e,a,n);else if(e.tag===19)Uc(e,a,n);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===n)break e;for(;e.sibling===null;){if(e.return===null||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(ee(oe,i),!(n.mode&1))n.memoizedState=null;else switch(r){case"forwards":for(a=n.child,r=null;a!==null;)e=a.alternate,e!==null&&jr(e)===null&&(r=a),a=a.sibling;a=r,a===null?(r=n.child,n.child=null):(r=a.sibling,a.sibling=null),ks(n,!1,r,a,s);break;case"backwards":for(a=null,r=n.child,n.child=null;r!==null;){if(e=r.alternate,e!==null&&jr(e)===null){n.child=r;break}e=r.sibling,r.sibling=a,a=r,r=e}ks(n,!0,a,null,s);break;case"together":ks(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function Xi(e,n){!(n.mode&1)&&e!==null&&(e.alternate=null,n.alternate=null,n.flags|=2)}function Dt(e,n,a){if(e!==null&&(n.dependencies=e.dependencies),Cn|=n.lanes,!(a&n.childLanes))return null;if(e!==null&&n.child!==e.child)throw Error(P(153));if(n.child!==null){for(e=n.child,a=Zt(e,e.pendingProps),n.child=a,a.return=n;e.sibling!==null;)e=e.sibling,a=a.sibling=Zt(e,e.pendingProps),a.return=n;a.sibling=null}return n.child}function Bg(e,n,a){switch(n.tag){case 3:zm(n),Xn();break;case 5:gm(n);break;case 1:Be(n.type)&&yr(n);break;case 4:vl(n,n.stateNode.containerInfo);break;case 10:var i=n.type._context,r=n.memoizedProps.value;ee(vr,i._currentValue),i._currentValue=r;break;case 13:if(i=n.memoizedState,i!==null)return i.dehydrated!==null?(ee(oe,oe.current&1),n.flags|=128,null):a&n.child.childLanes?qm(e,n,a):(ee(oe,oe.current&1),e=Dt(e,n,a),e!==null?e.sibling:null);ee(oe,oe.current&1);break;case 19:if(i=(a&n.childLanes)!==0,e.flags&128){if(i)return Bm(e,n,a);n.flags|=128}if(r=n.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),ee(oe,oe.current),i)break;return null;case 22:case 23:return n.lanes=0,Fm(e,n,a)}return Dt(e,n,a)}var $m,To,Um,Wm;$m=function(e,n){for(var a=n.child;a!==null;){if(a.tag===5||a.tag===6)e.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===n)break;for(;a.sibling===null;){if(a.return===null||a.return===n)return;a=a.return}a.sibling.return=a.return,a=a.sibling}};To=function(){};Um=function(e,n,a,i){var r=e.memoizedProps;if(r!==i){e=n.stateNode,hn(Nt.current);var s=null;switch(a){case"input":r=Vs(e,r),i=Vs(e,i),s=[];break;case"select":r=ce({},r,{value:void 0}),i=ce({},i,{value:void 0}),s=[];break;case"textarea":r=Ys(e,r),i=Ys(e,i),s=[];break;default:typeof r.onClick!="function"&&typeof i.onClick=="function"&&(e.onclick=gr)}Zs(a,i);var o;a=null;for(d in r)if(!i.hasOwnProperty(d)&&r.hasOwnProperty(d)&&r[d]!=null)if(d==="style"){var c=r[d];for(o in c)c.hasOwnProperty(o)&&(a||(a={}),a[o]="")}else d!=="dangerouslySetInnerHTML"&&d!=="children"&&d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&d!=="autoFocus"&&(qa.hasOwnProperty(d)?s||(s=[]):(s=s||[]).push(d,null));for(d in i){var l=i[d];if(c=r!=null?r[d]:void 0,i.hasOwnProperty(d)&&l!==c&&(l!=null||c!=null))if(d==="style")if(c){for(o in c)!c.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(a||(a={}),a[o]="");for(o in l)l.hasOwnProperty(o)&&c[o]!==l[o]&&(a||(a={}),a[o]=l[o])}else a||(s||(s=[]),s.push(d,a)),a=l;else d==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,c=c?c.__html:void 0,l!=null&&c!==l&&(s=s||[]).push(d,l)):d==="children"?typeof l!="string"&&typeof l!="number"||(s=s||[]).push(d,""+l):d!=="suppressContentEditableWarning"&&d!=="suppressHydrationWarning"&&(qa.hasOwnProperty(d)?(l!=null&&d==="onScroll"&&te("scroll",e),s||c===l||(s=[])):(s=s||[]).push(d,l))}a&&(s=s||[]).push("style",a);var d=s;(n.updateQueue=d)&&(n.flags|=4)}};Wm=function(e,n,a,i){a!==i&&(n.flags|=4)};function Ca(e,n){if(!ae)switch(e.tailMode){case"hidden":n=e.tail;for(var a=null;n!==null;)n.alternate!==null&&(a=n),n=n.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var i=null;a!==null;)a.alternate!==null&&(i=a),a=a.sibling;i===null?n||e.tail===null?e.tail=null:e.tail.sibling=null:i.sibling=null}}function Me(e){var n=e.alternate!==null&&e.alternate.child===e.child,a=0,i=0;if(n)for(var r=e.child;r!==null;)a|=r.lanes|r.childLanes,i|=r.subtreeFlags&14680064,i|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)a|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=a,n}function $g(e,n,a){var i=n.pendingProps;switch(pl(n),n.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Me(n),null;case 1:return Be(n.type)&&fr(),Me(n),null;case 3:return i=n.stateNode,ta(),ne(qe),ne(Pe),Cl(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(e===null||e.child===null)&&(Li(n)?n.flags|=4:e===null||e.memoizedState.isDehydrated&&!(n.flags&256)||(n.flags|=1024,dt!==null&&(Do(dt),dt=null))),To(e,n),Me(n),null;case 5:wl(n);var r=hn(ei.current);if(a=n.type,e!==null&&n.stateNode!=null)Um(e,n,a,i,r),e.ref!==n.ref&&(n.flags|=512,n.flags|=2097152);else{if(!i){if(n.stateNode===null)throw Error(P(166));return Me(n),null}if(e=hn(Nt.current),Li(n)){i=n.stateNode,a=n.type;var s=n.memoizedProps;switch(i[wt]=n,i[Za]=s,e=(n.mode&1)!==0,a){case"dialog":te("cancel",i),te("close",i);break;case"iframe":case"object":case"embed":te("load",i);break;case"video":case"audio":for(r=0;r<_a.length;r++)te(_a[r],i);break;case"source":te("error",i);break;case"img":case"image":case"link":te("error",i),te("load",i);break;case"details":te("toggle",i);break;case"input":ec(i,s),te("invalid",i);break;case"select":i._wrapperState={wasMultiple:!!s.multiple},te("invalid",i);break;case"textarea":nc(i,s),te("invalid",i)}Zs(a,s),r=null;for(var o in s)if(s.hasOwnProperty(o)){var c=s[o];o==="children"?typeof c=="string"?i.textContent!==c&&(s.suppressHydrationWarning!==!0&&Ei(i.textContent,c,e),r=["children",c]):typeof c=="number"&&i.textContent!==""+c&&(s.suppressHydrationWarning!==!0&&Ei(i.textContent,c,e),r=["children",""+c
vendor: 30,171 bytes, line 40
40]):qa.hasOwnProperty(o)&&c!=null&&o==="onScroll"&&te("scroll",i)}switch(a){case"input":Ni(i),tc(i,s,!0);break;case"textarea":Ni(i),ac(i);break;case"select":case"option":break;default:typeof s.onClick=="function"&&(i.onclick=gr)}i=r,n.updateQueue=i,i!==null&&(n.flags|=4)}else{o=r.nodeType===9?r:r.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=vu(a)),e==="http://www.w3.org/1999/xhtml"?a==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof i.is=="string"?e=o.createElement(a,{is:i.is}):(e=o.createElement(a),a==="select"&&(o=e,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):e=o.createElementNS(e,a),e[wt]=n,e[Za]=i,$m(e,n,!1,!1),n.stateNode=e;e:{switch(o=Xs(a,i),a){case"dialog":te("cancel",e),te("close",e),r=i;break;case"iframe":case"object":case"embed":te("load",e),r=i;break;case"video":case"audio":for(r=0;r<_a.length;r++)te(_a[r],e);r=i;break;case"source":te("error",e),r=i;break;case"img":case"image":case"link":te("error",e),te("load",e),r=i;break;case"details":te("toggle",e),r=i;break;case"input":ec(e,i),r=Vs(e,i),te("invalid",e);break;case"option":r=i;break;case"select":e._wrapperState={wasMultiple:!!i.multiple},r=ce({},i,{value:void 0}),te("invalid",e);break;case"textarea":nc(e,i),r=Ys(e,i),te("invalid",e);break;default:r=i}Zs(a,r),c=r;for(s in c)if(c.hasOwnProperty(s)){var l=c[s];s==="style"?ju(e,l):s==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&wu(e,l)):s==="children"?typeof l=="string"?(a!=="textarea"||l!=="")&&Ba(e,l):typeof l=="number"&&Ba(e,""+l):s!=="suppressContentEditableWarning"&&s!=="suppressHydrationWarning"&&s!=="autoFocus"&&(qa.hasOwnProperty(s)?l!=null&&s==="onScroll"&&te("scroll",e):l!=null&&Zo(e,s,l,o))}switch(a){case"input":Ni(e),tc(e,i,!1);break;case"textarea":Ni(e),ac(e);break;case"option":i.value!=null&&e.setAttribute("value",""+en(i.value));break;case"select":e.multiple=!!i.multiple,s=i.value,s!=null?Bn(e,!!i.multiple,s,!1):i.defaultValue!=null&&Bn(e,!!i.multiple,i.defaultValue,!0);break;default:typeof r.onClick=="function"&&(e.onclick=gr)}switch(a){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}}i&&(n.flags|=4)}n.ref!==null&&(n.flags|=512,n.flags|=2097152)}return Me(n),null;case 6:if(e&&n.stateNode!=null)Wm(e,n,e.memoizedProps,i);else{if(typeof i!="string"&&n.stateNode===null)throw Error(P(166));if(a=hn(ei.current),hn(Nt.current),Li(n)){if(i=n.stateNode,a=n.memoizedProps,i[wt]=n,(s=i.nodeValue!==a)&&(e=Ve,e!==null))switch(e.tag){case 3:Ei(i.nodeValue,a,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Ei(i.nodeValue,a,(e.mode&1)!==0)}s&&(n.flags|=4)}else i=(a.nodeType===9?a:a.ownerDocument).createTextNode(i),i[wt]=n,n.stateNode=i}return Me(n),null;case 13:if(ne(oe),i=n.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(ae&&We!==null&&n.mode&1&&!(n.flags&128))dm(),Xn(),n.flags|=98560,s=!1;else if(s=Li(n),i!==null&&i.dehydrated!==null){if(e===null){if(!s)throw Error(P(318));if(s=n.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(P(317));s[wt]=n}else Xn(),!(n.flags&128)&&(n.memoizedState=null),n.flags|=4;Me(n),s=!1}else dt!==null&&(Do(dt),dt=null),s=!0;if(!s)return n.flags&65536?n:null}return n.flags&128?(n.lanes=a,n):(i=i!==null,i!==(e!==null&&e.memoizedState!==null)&&i&&(n.child.flags|=8192,n.mode&1&&(e===null||oe.current&1?be===0&&(be=3):Dl())),n.updateQueue!==null&&(n.flags|=4),Me(n),null);case 4:return ta(),To(e,n),e===null&&Ya(n.stateNode.containerInfo),Me(n),null;case 10:return yl(n.type._context),Me(n),null;case 17:return Be(n.type)&&fr(),Me(n),null;case 19:if(ne(oe),s=n.memoizedState,s===null)return Me(n),null;if(i=(n.flags&128)!==0,o=s.rendering,o===null)if(i)Ca(s,!1);else{if(be!==0||e!==null&&e.flags&128)for(e=n.child;e!==null;){if(o=jr(e),o!==null){for(n.flags|=128,Ca(s,!1),i=o.updateQueue,i!==null&&(n.updateQueue=i,n.flags|=4),n.subtreeFlags=0,i=a,a=n.child;a!==null;)s=a,e=i,s.flags&=14680066,o=s.alternate,o===null?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=o.childLanes,s.lanes=o.lanes,s.child=o.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=o.memoizedProps,s.memoizedState=o.memoizedState,s.updateQueue=o.updateQueue,s.type=o.type,e=o.dependencies,s.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),a=a.sibling;return ee(oe,oe.current&1|2),n.child}e=e.sibling}s.tail!==null&&he()>aa&&(n.flags|=128,i=!0,Ca(s,!1),n.lanes=4194304)}else{if(!i)if(e=jr(o),e!==null){if(n.flags|=128,i=!0,a=e.updateQueue,a!==null&&(n.updateQueue=a,n.flags|=4),Ca(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!ae)return Me(n),null}else 2*he()-s.renderingStartTime>aa&&a!==1073741824&&(n.flags|=128,i=!0,Ca(s,!1),n.lanes=4194304);s.isBackwards?(o.sibling=n.child,n.child=o):(a=s.last,a!==null?a.sibling=o:n.child=o,s.last=o)}return s.tail!==null?(n=s.tail,s.rendering=n,s.tail=n.sibling,s.renderingStartTime=he(),n.sibling=null,a=oe.current,ee(oe,i?a&1|2:a&1),n):(Me(n),null);case 22:case 23:return Ll(),i=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==i&&(n.flags|=8192),i&&n.mode&1?Ue&1073741824&&(Me(n),n.subtreeFlags&6&&(n.flags|=8192)):Me(n),null;case 24:return null;case 25:return null}throw Error(P(156,n.tag))}function Ug(e,n){switch(pl(n),n.tag){case 1:return Be(n.type)&&fr(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return ta(),ne(qe),ne(Pe),Cl(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return wl(n),null;case 13:if(ne(oe),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(P(340));Xn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return ne(oe),null;case 4:return ta(),null;case 10:return yl(n.type._context),null;case 22:case 23:return Ll(),null;case 24:return null;default:return null}}var Ri=!1,Ae=!1,Wg=typeof WeakSet=="function"?WeakSet:Set,K=null;function zn(e,n){var a=e.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(i){me(e,n,i)}else a.current=null}function ko(e,n,a){try{a()}catch(i){me(e,n,i)}}var Wc=!1;function Vg(e,n){if(co=mr,e=Qu(),ul(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var i=a.getSelection&&a.getSelection();if(i&&i.rangeCount!==0){a=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{a.nodeType,s.nodeType}catch{a=null;break e}var o=0,c=-1,l=-1,d=0,p=0,u=e,m=null;t:for(;;){for(var h;u!==a||r!==0&&u.nodeType!==3||(c=o+r),u!==s||i!==0&&u.nodeType!==3||(l=o+i),u.nodeType===3&&(o+=u.nodeValue.length),(h=u.firstChild)!==null;)m=u,u=h;for(;;){if(u===e)break t;if(m===a&&++d===r&&(c=o),m===s&&++p===i&&(l=o),(h=u.nextSibling)!==null)break;u=m,m=u.parentNode}u=h}a=c===-1||l===-1?null:{start:c,end:l}}else a=null}a=a||{start:0,end:0}}else a=null;for(uo={focusedElem:e,selectionRange:a},mr=!1,K=n;K!==null;)if(n=K,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,K=e;else for(;K!==null;){n=K;try{var x=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var v=x.memoizedProps,C=x.memoizedState,f=n.stateNode,b=f.getSnapshotBeforeUpdate(n.elementType===n.type?v:lt(n.type,v),C);f.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var y=n.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(P(163))}}catch(N){me(n,n.return,N)}if(e=n.sibling,e!==null){e.return=n.return,K=e;break}K=n.return}return x=Wc,Wc=!1,x}function Ka(e,n,a){var i=n.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var r=i=i.next;do{if((r.tag&e)===e){var s=r.destroy;r.destroy=void 0,s!==void 0&&ko(n,a,s)}r=r.next}while(r!==i)}}function Vr(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var a=n=n.next;do{if((a.tag&e)===e){var i=a.create;a.destroy=i()}a=a.next}while(a!==n)}}function Mo(e){var n=e.ref;if(n!==null){var a=e.stateNode;switch(e.tag){case 5:e=a;break;default:e=a}typeof n=="function"?n(e):n.current=e}}function Vm(e){var n=e.alternate;n!==null&&(e.alternate=null,Vm(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[wt],delete n[Za],delete n[ho],delete n[Ag],delete n[Pg])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Gm(e){return e.tag===5||e.tag===3||e.tag===4}function Vc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gm(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ao(e,n,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,n?a.nodeType===8?a.parentNode.insertBefore(e,n):a.insertBefore(e,n):(a.nodeType===8?(n=a.parentNode,n.insertBefore(e,a)):(n=a,n.appendChild(e)),a=a._reactRootContainer,a!=null||n.onclick!==null||(n.onclick=gr));else if(i!==4&&(e=e.child,e!==null))for(Ao(e,n,a),e=e.sibling;e!==null;)Ao(e,n,a),e=e.sibling}function Po(e,n,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,n?a.insertBefore(e,n):a.appendChild(e);else if(i!==4&&(e=e.child,e!==null))for(Po(e,n,a),e=e.sibling;e!==null;)Po(e,n,a),e=e.sibling}var Ne=null,ct=!1;function Ot(e,n,a){for(a=a.child;a!==null;)Jm(e,n,a),a=a.sibling}function Jm(e,n,a){if(jt&&typeof jt.onCommitFiberUnmount=="function")try{jt.onCommitFiberUnmount(Fr,a)}catch{}switch(a.tag){case 5:Ae||zn(a,n);case 6:var i=Ne,r=ct;Ne=null,Ot(e,n,a),Ne=i,ct=r,Ne!==null&&(ct?(e=Ne,a=a.stateNode,e.nodeType===8?e.parentNode.removeChild(a):e.removeChild(a)):Ne.removeChild(a.stateNode));break;case 18:Ne!==null&&(ct?(e=Ne,a=a.stateNode,e.nodeType===8?vs(e.parentNode,a):e.nodeType===1&&vs(e,a),Va(e)):vs(Ne,a.stateNode));break;case 4:i=Ne,r=ct,Ne=a.stateNode.containerInfo,ct=!0,Ot(e,n,a),Ne=i,ct=r;break;case 0:case 11:case 14:case 15:if(!Ae&&(i=a.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){r=i=i.next;do{var s=r,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&ko(a,n,o),r=r.next}while(r!==i)}Ot(e,n,a);break;case 1:if(!Ae&&(zn(a,n),i=a.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=a.memoizedProps,i.state=a.memoizedState,i.componentWillUnmount()}catch(c){me(a,n,c)}Ot(e,n,a);break;case 21:Ot(e,n,a);break;case 22:a.mode&1?(Ae=(i=Ae)||a.memoizedState!==null,Ot(e,n,a),Ae=i):Ot(e,n,a);break;default:Ot(e,n,a)}}function Gc(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var a=e.stateNode;a===null&&(a=e.stateNode=new Wg),n.forEach(function(i){var r=nf.bind(null,e,i);a.has(i)||(a.add(i),i.then(r,r))})}}function ot(e,n){var a=n.deletions;if(a!==null)for(var i=0;i<a.length;i++){var r=a[i];try{var s=e,o=n,c=o;e:for(;c!==null;){switch(c.tag){case 5:Ne=c.stateNode,ct=!1;break e;case 3:Ne=c.stateNode.containerInfo,ct=!0;break e;case 4:Ne=c.stateNode.containerInfo,ct=!0;break e}c=c.return}if(Ne===null)throw Error(P(160));Jm(s,o,r),Ne=null,ct=!1;var l=r.alternate;l!==null&&(l.return=null),r.return=null}catch(d){me(r,n,d)}}if(n.subtreeFlags&12854)for(n=n.child;n!==null;)Ym(n,e),n=n.sibling}function Ym(e,n){var a=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(ot(n,e),xt(e),i&4){try{Ka(3,e,e.return),Vr(3,e)}catch(v){me(e,e.return,v)}try{Ka(5,e,e.return)}catch(v){me(e,e.return,v)}}break;case 1:ot(n,e),xt(e),i&512&&a!==null&&zn(a,a.return);break;case 5:if(ot(n,e),xt(e),i&512&&a!==null&&zn(a,a.return),e.flags&32){var r=e.stateNode;try{Ba(r,"")}catch(v){me(e,e.return,v)}}if(i&4&&(r=e.stateNode,r!=null)){var s=e.memoizedProps,o=a!==null?a.memoizedProps:s,c=e.type,l=e.updateQueue;if(e.updateQueue=null,l!==null)try{c==="input"&&s.type==="radio"&&s.name!=null&&xu(r,s),Xs(c,o);var d=Xs(c,s);for(o=0;o<l.length;o+=2){var p=l[o],u=l[o+1];p==="style"?ju(r,u):p==="dangerouslySetInnerHTML"?wu(r,u):p==="children"?Ba(r,u):Zo(r,p,u,d)}switch(c){case"input":Gs(r,s);break;case"textarea":bu(r,s);break;case"select":var m=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!s.multiple;var h=s.value;h!=null?Bn(r,!!s.multiple,h,!1):m!==!!s.multiple&&(s.defaultValue!=null?Bn(r,!!s.multiple,s.defaultValue,!0):Bn(r,!!s.multiple,s.multiple?[]:"",!1))}r[Za]=s}catch(v){me(e,e.return,v)}}break;case 6:if(ot(n,e),xt(e),i&4){if(e.stateNode===null)throw Error(P(162));r=e.stateNode,s=e.memoizedProps;try{r.nodeValue=s}catch(v){me(e,e.return,v)}}break;case 3:if(ot(n,e),xt(e),i&4&&a!==null&&a.memoizedState.isDehydrated)try{Va(n.containerInfo)}catch(v){me(e,e.return,v)}break;case 4:ot(n,e),xt(e);break;case 13:ot(n,e),xt(e),r=e.child,r.flags&8192&&(s=r.memoizedState!==null,r.stateNode.isHidden=s,!s||r.alternate!==null&&r.alternate.memoizedState!==null||(_l=he())),i&4&&Gc(e);break;case 22:if(p=a!==null&&a.memoizedState!==null,e.mode&1?(Ae=(d=Ae)||p,ot(n,e),Ae=d):ot(n,e),xt(e),i&8192){if(d=e.memoizedState!==null,(e.stateNode.isHidden=d)&&!p&&e.mode&1)for(K=e,p=e.child;p!==null;){for(u=K=p;K!==null;){switch(m=K,h=m.child,m.tag){case 0:case 11:case 14:case 15:Ka(4,m,m.return);break;case 1:zn(m,m.return);var x=m.stateNode;if(typeof x.componentWillUnmount=="function"){i=m,a=m.return;try{n=i,x.props=n.memoizedProps,x.state=n.memoizedState,x.componentWillUnmount()}catch(v){me(i,a,v)}}break;case 5:zn(m,m.return);break;case 22:if(m.memoizedState!==null){Yc(u);continue}}h!==null?(h.return=m,K=h):Yc(u)}p=p.sibling}e:for(p=null,u=e;;){if(u.tag===5){if(p===null){p=u;try{r=u.stateNode,d?(s=r.style,typeof s.setProperty=="function"?s.setProperty("display","none","important"):s.display="none"):(c=u.stateNode,l=u.memoizedProps.style,o=l!=null&&l.hasOwnProperty("display")?l.display:null,c.style.display=Cu("display",o))}catch(v){me(e,e.return,v)}}}else if(u.tag===6){if(p===null)try{u.stateNode.nodeValue=d?"":u.memoizedProps}catch(v){me(e,e.return,v)}}else if((u.tag!==22&&u.tag!==23||u.memoizedState===null||u===e)&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===e)break e;for(;u.sibling===null;){if(u.return===null||u.return===e)break e;p===u&&(p=null),u=u.return}p===u&&(p=null),u.sibling.return=u.return,u=u.sibling}}break;case 19:ot(n,e),xt(e),i&4&&Gc(e);break;case 21:break;default:ot(n,e),xt(e)}}function xt(e){var n=e.flags;if(n&2){try{e:{for(var a=e.return;a!==null;){if(Gm(a)){var i=a;break e}a=a.return}throw Error(P(160))}switch(i.tag){case 5:var r=i.stateNode;i.flags&32&&(Ba(r,""),i.flags&=-33);var s=Vc(e);Po(e,s,r);break;case 3:case 4:var o=i.stateNode.containerInfo,c=Vc(e);Ao(e,c,o);break;default:throw Error(P(161))}}catch(l){me(e,e.return,l)}e.flags&=-3}n&4096&&(e.flags&=-4097)}function Gg(e,n,a){K=e,Qm(e)}function Qm(e,n,a){for(var i=(e.mode&1)!==0;K!==null;){var r=K,s=r.child;if(r.tag===22&&i){var o=r.memoizedState!==null||Ri;if(!o){var c=r.alternate,l=c!==null&&c.memoizedState!==null||Ae;c=Ri;var d=Ae;if(Ri=o,(Ae=l)&&!d)for(K=r;K!==null;)o=K,l=o.child,o.tag===22&&o.memoizedState!==null?Qc(r):l!==null?(l.return=o,K=l):Qc(r);for(;s!==null;)K=s,Qm(s),s=s.sibling;K=r,Ri=c,Ae=d}Jc(e)}else r.subtreeFlags&8772&&s!==null?(s.return=r,K=s):Jc(e)}}function Jc(e){for(;K!==null;){var n=K;if(n.flags&8772){var a=n.alternate;try{if(n.flags&8772)switch(n.tag){case 0:case 11:case 15:Ae||Vr(5,n);break;case 1:var i=n.stateNode;if(n.flags&4&&!Ae)if(a===null)i.componentDidMount();else{var r=n.elementType===n.type?a.memoizedProps:lt(n.type,a.memoizedProps);i.componentDidUpdate(r,a.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var s=n.updateQueue;s!==null&&Lc(n,s,i);break;case 3:var o=n.updateQueue;if(o!==null){if(a=null,n.child!==null)switch(n.child.tag){case 5:a=n.child.stateNode;break;case 1:a=n.child.stateNode}Lc(n,o,a)}break;case 5:var c=n.stateNode;if(a===null&&n.flags&4){a=c;var l=n.memoizedProps;switch(n.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&a.focus();break;case"img":l.src&&(a.src=l.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(n.memoizedState===null){var d=n.alternate;if(d!==null){var p=d.memoizedState;if(p!==null){var u=p.dehydrated;u!==null&&Va(u)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(P(163))}Ae||n.flags&512&&Mo(n)}catch(m){me(n,n.return,m)}}if(n===e){K=null;break}if(a=n.sibling,a!==null){a.return=n.return,K=a;break}K=n.return}}function Yc(e){for(;K!==null;){var n=K;if(n===e){K=null;break}var a=n.sibling;if(a!==null){a.return=n.return,K=a;break}K=n.return}}function Qc(e){for(;K!==null;){var n=K;try{switch(n.tag){case 0:case 11:case 15:var a=n.return;try{Vr(4,n)}catch(l){me(n,a,l)}break;case 1:var i=n.stateNode;if(typeof i.componentDidMount=="function"){var r=n.return;try{i.componentDidMount()}catch(l){me(n,r,l)}}var s=n.return;try{Mo(n)}catch(l){me(n,s,l)}break;case 5:var o=n.return;try{Mo(n)}catch(l){me(n,o,l)}}}catch(l){me(n,n.return,l)}if(n===e){K=null;break}var c=n.sibling;if(c!==null){c.return=n.return,K=c;break}K=n.return}}var Jg=Math.ceil,Tr=It.ReactCurrentDispatcher,Al=It.ReactCurrentOwner,nt=It.ReactCurrentBatchConfig,Z=0,Ce=null,ye=null,Se=0,Ue=0,qn=an(0),be=0,ii=null,Cn=0,Gr=0,Pl=0,Fa=null,Fe=null,_l=0,aa=1/0,Tt=null,kr=!1,_o=null,Yt=null,Oi=!1,Bt=null,Mr=0,Ha=0,Eo=null,er=-1,tr=0;function De(){return Z&6?he():er!==-1?er:er=he()}function Qt(e){return e.mode&1?Z&2&&Se!==0?Se&-Se:Eg.transition!==null?(tr===0&&(tr=Iu()),tr):(e=X,e!==0||(e=window.event,e=e===void 0?16:qu(e.type)),e):1}function pt(e,n,a,i){if(50<Ha)throw Ha=0,Eo=null,Error(P(185));ci(e,a,i),(!(Z&2)||e!==Ce)&&(e===Ce&&(!(Z&2)&&(Gr|=a),be===4&&zt(e,Se)),$e(e,i),a===1&&Z===0&&!(n.mode&1)&&(aa=he()+500,$r&&rn()))}function $e(e,n){var a=e.callbackNode;Eh(e,n);var i=ur(e,e===Ce?Se:0);if(i===0)a!==null&&sc(a),e.callbackNode=null,e.callbackPriority=0;else if(n=i&-i,e.callbackPriority!==n){if(a!=null&&sc(a),n===1)e.tag===0?_g(Zc.bind(null,e)):om(Zc.bind(null,e)),kg(function(){!(Z&6)&&rn()}),a=null;else{switch(Ru(i)){case 1:a=al;break;case 4:a=Lu;break;case 16:a=dr;break;case 536870912:a=Du;break;default:a=dr}a=rp(a,Zm.bind(null,e))}e.callbackPriority=n,e.callbackNode=a}}function Zm(e,n){if(er=-1,tr=0,Z&6)throw Error(P(327));var a=e.callbackNode;if(Gn()&&e.callbackNode!==a)return null;var i=ur(e,e===Ce?Se:0);if(i===0)return null;if(i&30||i&e.expiredLanes||n)n=Ar(e,i);else{n=i;var r=Z;Z|=2;var s=ep();(Ce!==e||Se!==n)&&(Tt=null,aa=he()+500,fn(e,n));do try{Zg();break}catch(c){Xm(e,c)}while(!0);fl(),Tr.current=s,Z=r,ye!==null?n=0:(Ce=null,Se=0,n=be)}if(n!==0){if(n===2&&(r=io(e),r!==0&&(i=r,n=Lo(e,r))),n===1)throw a=ii,fn(e,0),zt(e,i),$e(e,he()),a;if(n===6)zt(e,i);else{if(r=e.current.alternate,!(i&30)&&!Yg(r)&&(n=Ar(e,i),n===2&&(s=io(e),s!==0&&(i=s,n=Lo(e,s))),n===1))throw a=ii,fn(e,0),zt(e,i),$e(e,he()),a;switch(e.finishedWork=r,e.finishedLanes=i,n){case 0:case 1:throw Error(P(345));case 2:un(e,Fe,Tt);break;case 3:if(zt(e,i),(i&130023424)===i&&(n=_l+500-he(),10<n)){if(ur(e,0)!==0)break;if(r=e.suspendedLanes,(r&i)!==i){De(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=po(un.bind(null,e,Fe,Tt),n);break}un(e,Fe,Tt);break;case 4:if(zt(e,i),(i&4194240)===i)break;for(n=e.eventTimes,r=-1;0<i;){var o=31-mt(i);s=1<<o,o=n[o],o>r&&(r=o),i&=~s}if(i=r,i=he()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Jg(i/1960))-i,10<i){e.timeoutHandle=po(un.bind(null,e,Fe,Tt),i);break}un(e,Fe,Tt);break;case 5:un(e,Fe,Tt);break;default:throw Error(P(329))}}}return $e(e,he()),e.callbackNode===a?Zm.bind(null,e):null}function Lo(e,n){var a=Fa;return e.current.memoizedState.isDehydrated&&(fn(e,n).flags|=256),e=Ar(e,n),e!==2&&(n=Fe,Fe=a,n!==null&&Do(n)),e}function Do(e){Fe===null?Fe=e:Fe.push.apply(Fe,e)}function Yg(e){for(var n=e;;){if(n.flags&16384){var a=n.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var i=0;i<a.length;i++){var r=a[i],s=r.getSnapshot;r=r.value;try{if(!ht(s(),r))return!1}catch{return!1}}}if(a=n.child,n.subtreeFlags&16384&&a!==null)a.return=n,n=a;else{if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return!0;n=n.return}n.sibling.return=n.return,n=n.sibling}}return!0}function zt(e,n){for(n&=~Pl,n&=~Gr,e.suspendedLanes|=n,e.pingedLanes&=~n,e=e.expirationTimes;0<n;){var a=31-mt(n),i=1<<a;e[a]=-1,n&=~i}}function Zc(e){if(Z&6)throw Error(P(327));Gn();var n=ur(e,0);if(!(n&1))return $e(e,he()),null;var a=Ar(e,n);if(e.tag!==0&&a===2){var i=io(e);i!==0&&(n=i,a=Lo(e,i))}if(a===1)throw a=ii,fn(e,0),zt(e,n),$e(e,he()),a;if(a===6)throw Error(P(345));return e.finishedWork=e.current.alternate,e.finishedLanes=n,un(e,Fe,Tt),$e(e,he()),null}function El(e,n){var a=Z;Z|=1;try{return e(n)}finally{Z=a,Z===0&&(aa=he()+500,$r&&rn())}}function jn(e){Bt!==null&&Bt.tag===0&&!(Z&6)&&Gn();var n=Z;Z|=1;var a=nt.transition,i=X;try{if(nt.transition=null,X=1,e)return e()}finally{X=i,nt.transition=a,Z=n,!(Z&6)&&rn()}}function Ll(){Ue=qn.current,ne(qn)}function fn(e,n){e.finishedWork=null,e.finishedLanes=0;var a=e.timeoutHandle;if(a!==-1&&(e.timeoutHandle=-1,Tg(a)),ye!==null)for(a=ye.return;a!==null;){var i=a;switch(pl(i),i.tag){case 1:i=i.type.childContextTypes,i!=null&&fr();break;case 3:ta(),ne(qe),ne(Pe),Cl();break;case 5:wl(i);break;case 4:ta();break;case 13:ne(oe);break;case 19:ne(oe);break;case 10:yl(i.type._context);break;case 22:case 23:Ll()}a=a.return}if(Ce=e,ye=e=Zt(e.current,null),Se=Ue=n,be=0,ii=null,Pl=Gr=Cn=0,Fe=Fa=null,pn!==null){for(n=0;n<pn.length;n++)if(a=pn[n],i=a.interleaved,i!==null){a.interleaved=null;var r=i.next,s=a.pending;if(s!==null){var o=s.next;s.next=r,i.next=o}a.pending=i}pn=null}return e}function Xm(e,n){do{var a=ye;try{if(fl(),Qi.current=Sr,Nr){for(var i=le.memoizedState;i!==null;){var r=i.queue;r!==null&&(r.pending=null),i=i.next}Nr=!1}if(wn=0,ve=xe=le=null,Oa=!1,ti=0,Al.current=null,a===null||a.return===null){be=1,ii=n,ye=null;break}e:{var s=e,o=a.return,c=a,l=n;if(n=Se,c.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){var d=l,p=c,u=p.tag;if(!(p.mode&1)&&(u===0||u===11||u===15)){var m=p.alternate;m?(p.updateQueue=m.updateQueue,p.memoizedState=m.memoizedState,p.lanes=m.lanes):(p.updateQueue=null,p.memoizedState=null)}var h=Fc(o);if(h!==null){h.flags&=-257,Hc(h,o,c,s,n),h.mode&1&&Kc(s,d,n),n=h,l=d;var x=n.updateQueue;if(x===null){var v=new Set;v.add(l),n.updateQueue=v}else x.add(l);break e}else{if(!(n&1)){Kc(s,d,n),Dl();break e}l=Error(P(426))}}else if(ae&&c.mode&1){var C=Fc(o);if(C!==null){!(C.flags&65536)&&(C.flags|=256),Hc(C,o,c,s,n),hl(na(l,c));break e}}s=l=na(l,c),be!==4&&(be=2),Fa===null?Fa=[s]:Fa.push(s),s=o;do{switch(s.tag){case 3:s.flags|=65536,n&=-n,s.lanes|=n;var f=Rm(s,l,n);Ec(s,f);break e;case 1:c=l;var b=s.type,y=s.stateNode;if(!(s.flags&128)&&(typeof b.getDerivedStateFromError=="function"||y!==null&&typeof y.componentDidCatch=="function"&&(Yt===null||!Yt.has(y)))){s.flags|=65536,n&=-n,s.lanes|=n;var N=Om(s,c,n);Ec(s,N);break e}}s=s.return}while(s!==null)}np(a)}catch(S){n=S,ye===a&&a!==null&&(ye=a=a.return);continue}break}while(!0)}function ep(){var e=Tr.current;return Tr.current=Sr,e===null?Sr:e}function Dl(){(be===0||be===3||be===2)&&(be=4),Ce===null||!(Cn&268435455)&&!(Gr&268435455)||zt(Ce,Se)}function Ar(e,n){var a=Z;Z|=2;var i=ep();(Ce!==e||Se!==n)&&(Tt=null,fn(e,n));do try{Qg();break}catch(r){Xm(e,r)}while(!0);if(fl(),Z=a,Tr.current=i,ye!==null)throw Error(P(261));return Ce=null,Se=0,be}function Qg(){for(;ye!==null;)tp(ye)}function Zg(){for(;ye!==null&&!jh();)tp(ye)}function tp(e){var n=ip(e.alternate,e,Ue);e.memoizedProps=e.pendingProps,n===null?np(e):ye=n,Al.current=null}function np(e){var n=e;do{var a=n.alternate;if(e=n.return,n.flags&32768){if(a=Ug(a,n),a!==null){a.flags&=32767,ye=a;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{be=6,ye=null;return}}else if(a=$g(a,n,Ue),a!==null){ye=a;return}if(n=n.sibling,n!==null){ye=n;return}ye=n=e}while(n!==null);be===0&&(be=5)}function un(e,n,a){var i=X,r=nt.transition;try{nt.transition=null,X=1,Xg(e,n,a,i)}finally{nt.transition=r,X=i}return null}function Xg(e,n,a,i){do Gn();while(Bt!==null);if(Z&6)throw Error(P(327));a=e.finishedWork;var r=e.finishedLanes;if(a===null)return null;if(e.finishedWork=null,e.finishedLanes=0,a===e.current)throw Error(P(177));e.callbackNode=null,e.callbackPriority=0;var s=a.lanes|a.childLanes;if(Lh(e,s),e===Ce&&(ye=Ce=null,Se=0),!(a.subtreeFlags&2064)&&!(a.flags&2064)||Oi||(Oi=!0,rp(dr,function(){return Gn(),null})),s=(a.flags&15990)!==0,a.subtreeFlags&15990||s){s=nt.transition,nt.transition=null;var o=X;X=1;var c=Z;Z|=4,Al.current=null,Vg(e,a),Ym(a,e),bg(uo),mr=!!co,uo=co=null,e.current=a,Gg(a),Nh(),Z=c,X=o,nt.transition=s}else e.current=a;if(Oi&&(Oi=!1,Bt=e,Mr=r),s=e.pendingLanes,s===0&&(Yt=null),kh(a.stateNode),$e(e,he()),n!==null)for(i=e.onRecoverableError,a=0;a<n.length;a++)r=n[a],i(r.value,{componentStack:r.stack,digest:r.digest});if(kr)throw kr=!1,e=_o,_o=null,e;return Mr&1&&e.tag!==0&&Gn(),s=e.pendingLanes,s&1?e===Eo?Ha++:(Ha=0,Eo=e):Ha=0,rn(),null}function Gn(){if(Bt!==null){var e=Ru(Mr),n=nt.transition,a=X;try{if(nt.transition=null,X=16>e?16:e,Bt===null)var i=!1;else{if(e=Bt,Bt=null,Mr=0,Z&6)throw Error(P(331));var r=Z;for(Z|=4,K=e.current;K!==null;){var s=K,o=s.child;if(K.flags&16){var c=s.deletions;if(c!==null){for(var l=0;l<c.length;l++){var d=c[l];for(K=d;K!==null;){var p=K;switch(p.tag){case 0:case 11:case 15:Ka(8,p,s)}var u=p.child;if(u!==null)u.return=p,K=u;else for(;K!==null;){p=K;var m=p.sibling,h=p.return;if(Vm(p),p===d){K=null;break}if(m!==null){m.return=h,K=m;break}K=h}}}var x=s.alternate;if(x!==null){var v=x.child;if(v!==null){x.child=null;do{var C=v.sibling;v.sibling=null,v=C}while(v!==null)}}K=s}}if(s.subtreeFlags&2064&&o!==null)o.return=s,K=o;else e:for(;K!==null;){if(s=K,s.flags&2048)switch(s.tag){case 0:case 11:case 15:Ka(9,s,s.return)}var f=s.sibling;if(f!==null){f.return=s.return,K=f;break e}K=s.return}}var b=e.current;for(K=b;K!==null;){o=K;var y=o.child;if(o.subtreeFlags&2064&&y!==null)y.return=o,K=y;else e:for(o=b;K!==null;){if(c=K,c.flags&2048)try{switch(c.tag){case 0:case 11:case 15:Vr(9,c)}}catch(S){me(c,c.return,S)}if(c===o){K=null;break e}var N=c.sibling;if(N!==null){N.return=c.return,K=N;break e}K=c.return}}if(Z=r,rn(),jt&&typeof jt.onPostCommitFiberRoot=="function")try{jt.onPostCommitFiberRoot(Fr,e)}catch{}i=!0}return i}finally{X=a,nt.transition=n}}return!1}function Xc(e,n,a){n=na(a,n),n=Rm(e,n,1),e=Jt(e,n,1),n=De(),e!==null&&(ci(e,1,n),$e(e,n))}function me(e,n,a){if(e.tag===3)Xc(e,e,a);else for(;n!==null;){if(n.tag===3){Xc(n,e,a);break}else if(n.tag===1){var i=n.stateNode;if(typeof n.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Yt===null||!Yt.has(i))){e=na(a,e),e=Om(n,e,1),n=Jt(n,e,1),e=De(),n!==null&&(ci(n,1,e),$e(n,e));break}}n=n.return}}function ef(e,n,a){var i=e.pingCache;i!==null&&i.delete(n),n=De(),e.pingedLanes|=e.suspendedLanes&a,Ce===e&&(Se&a)===a&&(be===4||be===3&&(Se&130023424)===Se&&500>he()-_l?fn(e,0):Pl|=a),$e(e,n)}function ap(e,n){n===0&&(e.mode&1?(n=ki,ki<<=1,!(ki&130023424)&&(ki=4194304)):n=1);var a=De();e=Lt(e,n),e!==null&&(ci(e,n,a),$e(e,a))}function tf(e){var n=e.memoizedState,a=0;n!==null&&(a=n.retryLane),ap(e,a)}function nf(e,n){var a=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;r!==null&&(a=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(P(314))}i!==null&&i.delete(n),ap(e,a)}var ip;ip=function(e,n,a){if(e!==null)if(e.memoizedProps!==n.pendingProps||qe.current)He=!0;else{if(!(e.lanes&a)&&!(n.flags&128))return He=!1,Bg(e,n,a);He=!!(e.flags&131072)}else He=!1,ae&&n.flags&1048576&&lm(n,br,n.index);switch(n.lanes=0,n.tag){case 2:var i=n.type;Xi(e,n),e=n.pendingProps;var r=Zn(n,Pe.current);Vn(n,a),r=Nl(null,n,i,e,r,a);var s=Sl();return n.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,Be(i)?(s=!0,yr(n)):s=!1,n.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,bl(n),r.updater=Wr,n.stateNode=r,r._reactInternals=n,vo(n,i,e,a),n=jo(null,n,i,!0,s,a)):(n.tag=0,ae&&s&&ml(n),Le(null,n,r,a),n=n.child),n;case 16:i=n.elementType;e:{switch(Xi(e,n),e=n.pendingProps,r=i._init,i=r(i._payload),n.type=i,r=n.tag=rf(i),e=lt(i,e),r){case 0:n=Co(null,n,i,e,a);break e;case 1:n=Bc(null,n,i,e,a);break e;case 11:n=zc(null,n,i,e,a);break e;case 14:n=qc(null,n,i,lt(i.type,e),a);break e}throw Error(P(306,i,""))}return n;case 0:return i=n.type,r=n.pendingProps,r=n.elementType===i?r:lt(i,r),Co(e,n,i,r,a);case 1:return i=n.type,r=n.pendingProps,r=n.elementType===i?r:lt(i,r),Bc(e,n,i,r,a);case 3:e:{if(zm(n),e===null)throw Error(P(387));i=n.pendingProps,s=n.memoizedState,r=s.element,hm(e,n),Cr(n,i,null,a);var o=n.memoizedState;if(i=o.element,s.isDehydrated)if(s={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},n.updateQueue.baseState=s,n.memoizedState=s,n.flags&256){r=na(Error(P(423)),n),n=$c(e,n,i,a,r);break e}else if(i!==r){r=na(Error(P(424)),n),n=$c(e,n,i,a,r);break e}else for(We=Gt(n.stateNode.containerInfo.firstChild),Ve=n,ae=!0,dt=null,a=mm(n,null,i,a),n.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(Xn(),i===r){n=Dt(e,n,a);break e}Le(e,n,i,a)}n=n.child}return n;case 5:return gm(n),e===null&&yo(n),i=n.type,r=n.pendingProps,s=e!==null?e.memoizedProps:null,o=r.children,mo(i,r)?o=null:s!==null&&mo(i,s)&&(n.flags|=32),Hm(e,n),Le(e,n,o,a),n.child;case 6:return e===null&&yo(n),null;case 13:return qm(e,n,a);case 4:return vl(n,n.stateNode.containerInfo),i=n.pendingProps,e===null?n.child=ea(n,null,i,a):Le(e,n,i,a),n.child;case 11:return i=n.type,r=n.pendingProps,r=n.elementType===i?r:lt(i,r),zc(e,n,i,r,a);case 7:return Le(e,n,n.pendingProps,a),n.child;case 8:return Le(e,n,n.pendingProps.children,a),n.child;case 12:return Le(e,n,n.pendingProps.children,a),n.child;case 10:e:{if(i=n.type._context,r=n.pendingProps,s=n.memoizedProps,o=r.value,ee(vr,i._currentValue),i._currentValue=o,s!==null)if(ht(s.value,o)){if(s.children===r.children&&!qe.current){n=Dt(e,n,a);break e}}else for(s=n.child,s!==null&&(s.return=n);s!==null;){var c=s.dependencies;if(c!==null){o=s.child;for(var l=c.firstContext;l!==null;
vendor: 11,110 bytes, line 40
40){if(l.context===i){if(s.tag===1){l=Pt(-1,a&-a),l.tag=2;var d=s.updateQueue;if(d!==null){d=d.shared;var p=d.pending;p===null?l.next=l:(l.next=p.next,p.next=l),d.pending=l}}s.lanes|=a,l=s.alternate,l!==null&&(l.lanes|=a),xo(s.return,a,n),c.lanes|=a;break}l=l.next}}else if(s.tag===10)o=s.type===n.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(P(341));o.lanes|=a,c=o.alternate,c!==null&&(c.lanes|=a),xo(o,a,n),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===n){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Le(e,n,r.children,a),n=n.child}return n;case 9:return r=n.type,i=n.pendingProps.children,Vn(n,a),r=at(r),i=i(r),n.flags|=1,Le(e,n,i,a),n.child;case 14:return i=n.type,r=lt(i,n.pendingProps),r=lt(i.type,r),qc(e,n,i,r,a);case 15:return Km(e,n,n.type,n.pendingProps,a);case 17:return i=n.type,r=n.pendingProps,r=n.elementType===i?r:lt(i,r),Xi(e,n),n.tag=1,Be(i)?(e=!0,yr(n)):e=!1,Vn(n,a),Im(n,i,r),vo(n,i,r,a),jo(null,n,i,!0,e,a);case 19:return Bm(e,n,a);case 22:return Fm(e,n,a)}throw Error(P(156,n.tag))};function rp(e,n){return Eu(e,n)}function af(e,n,a,i){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function tt(e,n,a,i){return new af(e,n,a,i)}function Il(e){return e=e.prototype,!(!e||!e.isReactComponent)}function rf(e){if(typeof e=="function")return Il(e)?1:0;if(e!=null){if(e=e.$$typeof,e===el)return 11;if(e===tl)return 14}return 2}function Zt(e,n){var a=e.alternate;return a===null?(a=tt(e.tag,n,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=n,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&14680064,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,n=e.dependencies,a.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function nr(e,n,a,i,r,s){var o=2;if(i=e,typeof e=="function")Il(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case En:return yn(a.children,r,s,n);case Xo:o=8,r|=8;break;case Bs:return e=tt(12,a,n,r|2),e.elementType=Bs,e.lanes=s,e;case $s:return e=tt(13,a,n,r),e.elementType=$s,e.lanes=s,e;case Us:return e=tt(19,a,n,r),e.elementType=Us,e.lanes=s,e;case gu:return Jr(a,r,s,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case pu:o=10;break e;case hu:o=9;break e;case el:o=11;break e;case tl:o=14;break e;case Kt:o=16,i=null;break e}throw Error(P(130,e==null?e:typeof e,""))}return n=tt(o,a,n,r),n.elementType=e,n.type=i,n.lanes=s,n}function yn(e,n,a,i){return e=tt(7,e,i,n),e.lanes=a,e}function Jr(e,n,a,i){return e=tt(22,e,i,n),e.elementType=gu,e.lanes=a,e.stateNode={isHidden:!1},e}function Ms(e,n,a){return e=tt(6,e,null,n),e.lanes=a,e}function As(e,n,a){return n=tt(4,e.children!==null?e.children:[],e.key,n),n.lanes=a,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function sf(e,n,a,i,r){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=cs(0),this.expirationTimes=cs(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=cs(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Rl(e,n,a,i,r,s,o,c,l){return e=new sf(e,n,a,c,l),n===1?(n=1,s===!0&&(n|=8)):n=0,s=tt(3,null,null,n),e.current=s,s.stateNode=e,s.memoizedState={element:i,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},bl(s),e}function of(e,n,a){var i=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:_n,key:i==null?null:""+i,children:e,containerInfo:n,implementation:a}}function sp(e){if(!e)return tn;e=e._reactInternals;e:{if(Sn(e)!==e||e.tag!==1)throw Error(P(170));var n=e;do{switch(n.tag){case 3:n=n.stateNode.context;break e;case 1:if(Be(n.type)){n=n.stateNode.__reactInternalMemoizedMergedChildContext;break e}}n=n.return}while(n!==null);throw Error(P(171))}if(e.tag===1){var a=e.type;if(Be(a))return sm(e,a,n)}return n}function op(e,n,a,i,r,s,o,c,l){return e=Rl(a,i,!0,e,r,s,o,c,l),e.context=sp(null),a=e.current,i=De(),r=Qt(a),s=Pt(i,r),s.callback=n??null,Jt(a,s,r),e.current.lanes=r,ci(e,r,i),$e(e,i),e}function Yr(e,n,a,i){var r=n.current,s=De(),o=Qt(r);return a=sp(a),n.context===null?n.context=a:n.pendingContext=a,n=Pt(s,o),n.payload={element:e},i=i===void 0?null:i,i!==null&&(n.callback=i),e=Jt(r,n,o),e!==null&&(pt(e,r,o,s),Yi(e,r,o)),o}function Pr(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function ed(e,n){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<n?a:n}}function Ol(e,n){ed(e,n),(e=e.alternate)&&ed(e,n)}function lf(){return null}var lp=typeof reportError=="function"?reportError:function(e){console.error(e)};function Kl(e){this._internalRoot=e}Qr.prototype.render=Kl.prototype.render=function(e){var n=this._internalRoot;if(n===null)throw Error(P(409));Yr(e,n,null,null)};Qr.prototype.unmount=Kl.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var n=e.containerInfo;jn(function(){Yr(null,e,null,null)}),n[Et]=null}};function Qr(e){this._internalRoot=e}Qr.prototype.unstable_scheduleHydration=function(e){if(e){var n=Fu();e={blockedOn:null,target:e,priority:n};for(var a=0;a<Ht.length&&n!==0&&n<Ht[a].priority;a++);Ht.splice(a,0,e),a===0&&zu(e)}};function Fl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Zr(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function td(){}function cf(e,n,a,i,r){if(r){if(typeof i=="function"){var s=i;i=function(){var d=Pr(o);s.call(d)}}var o=op(n,i,e,0,null,!1,!1,"",td);return e._reactRootContainer=o,e[Et]=o.current,Ya(e.nodeType===8?e.parentNode:e),jn(),o}for(;r=e.lastChild;)e.removeChild(r);if(typeof i=="function"){var c=i;i=function(){var d=Pr(l);c.call(d)}}var l=Rl(e,0,!1,null,null,!1,!1,"",td);return e._reactRootContainer=l,e[Et]=l.current,Ya(e.nodeType===8?e.parentNode:e),jn(function(){Yr(n,l,a,i)}),l}function Xr(e,n,a,i,r){var s=a._reactRootContainer;if(s){var o=s;if(typeof r=="function"){var c=r;r=function(){var l=Pr(o);c.call(l)}}Yr(n,o,e,r)}else o=cf(a,n,e,r,i);return Pr(o)}Ou=function(e){switch(e.tag){case 3:var n=e.stateNode;if(n.current.memoizedState.isDehydrated){var a=Pa(n.pendingLanes);a!==0&&(il(n,a|1),$e(n,he()),!(Z&6)&&(aa=he()+500,rn()))}break;case 13:jn(function(){var i=Lt(e,1);if(i!==null){var r=De();pt(i,e,1,r)}}),Ol(e,1)}};rl=function(e){if(e.tag===13){var n=Lt(e,134217728);if(n!==null){var a=De();pt(n,e,134217728,a)}Ol(e,134217728)}};Ku=function(e){if(e.tag===13){var n=Qt(e),a=Lt(e,n);if(a!==null){var i=De();pt(a,e,n,i)}Ol(e,n)}};Fu=function(){return X};Hu=function(e,n){var a=X;try{return X=e,n()}finally{X=a}};to=function(e,n,a){switch(n){case"input":if(Gs(e,a),n=a.name,a.type==="radio"&&n!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),n=0;n<a.length;n++){var i=a[n];if(i!==e&&i.form===e.form){var r=Br(i);if(!r)throw Error(P(90));yu(i),Gs(i,r)}}}break;case"textarea":bu(e,a);break;case"select":n=a.value,n!=null&&Bn(e,!!a.multiple,n,!1)}};Tu=El;ku=jn;var df={usingClientEntryPoint:!1,Events:[ui,Rn,Br,Nu,Su,El]},ja={findFiberByHostInstance:mn,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},uf={bundleType:ja.bundleType,version:ja.version,rendererPackageName:ja.rendererPackageName,rendererConfig:ja.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:It.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Pu(e),e===null?null:e.stateNode},findFiberByHostInstance:ja.findFiberByHostInstance||lf,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ki=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ki.isDisabled&&Ki.supportsFiber)try{Fr=Ki.inject(uf),jt=Ki}catch{}}Je.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=df;Je.createPortal=function(e,n){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Fl(n))throw Error(P(200));return of(e,n,null,a)};Je.createRoot=function(e,n){if(!Fl(e))throw Error(P(299));var a=!1,i="",r=lp;return n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(r=n.onRecoverableError)),n=Rl(e,1,!1,null,null,a,!1,i,r),e[Et]=n.current,Ya(e.nodeType===8?e.parentNode:e),new Kl(n)};Je.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var n=e._reactInternals;if(n===void 0)throw typeof e.render=="function"?Error(P(188)):(e=Object.keys(e).join(","),Error(P(268,e)));return e=Pu(n),e=e===null?null:e.stateNode,e};Je.flushSync=function(e){return jn(e)};Je.hydrate=function(e,n,a){if(!Zr(n))throw Error(P(200));return Xr(null,e,n,!0,a)};Je.hydrateRoot=function(e,n,a){if(!Fl(e))throw Error(P(405));var i=a!=null&&a.hydratedSources||null,r=!1,s="",o=lp;if(a!=null&&(a.unstable_strictMode===!0&&(r=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onRecoverableError!==void 0&&(o=a.onRecoverableError)),n=op(n,null,e,1,a??null,r,!1,s,o),e[Et]=n.current,Ya(e),i)for(e=0;e<i.length;e++)a=i[e],r=a._getVersion,r=r(a._source),n.mutableSourceEagerHydrationData==null?n.mutableSourceEagerHydrationData=[a,r]:n.mutableSourceEagerHydrationData.push(a,r);return new Qr(n)};Je.render=function(e,n,a){if(!Zr(n))throw Error(P(200));return Xr(null,e,n,!1,a)};Je.unmountComponentAtNode=function(e){if(!Zr(e))throw Error(P(40));return e._reactRootContainer?(jn(function(){Xr(null,null,e,!1,function(){e._reactRootContainer=null,e[Et]=null})}),!0):!1};Je.unstable_batchedUpdates=El;Je.unstable_renderSubtreeIntoContainer=function(e,n,a,i){if(!Zr(a))throw Error(P(200));if(e==null||e._reactInternals===void 0)throw Error(P(38));return Xr(e,n,a,!1,i)};Je.version="18.3.1-next-f1338f8080-20240426";function cp(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(cp)}catch(e){console.error(e)}}
40cp(),cu.exports=Je;var mf=cu.exports,nd=mf;zs.createRoot=nd.createRoot,zs.hydrateRoot=nd.hydrateRoot;const pf="modulepreload",hf=function(e){return"/"+e},ad={},Hl=function(n,a,i){let r=Promise.resolve();if(a&&a.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),c=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(a.map(l=>{if(l=hf(l),l in ad)return;ad[l]=!0;const d=l.endsWith(".css"),p=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${p}`))return;const u=document.createElement("link");if(u.rel=d?"stylesheet":pf,d||(u.as="script"),u.crossOrigin="",u.href=l,c&&u.setAttribute("nonce",c),document.head.appendChild(u),d)return new Promise((m,h)=>{u.addEventListener("load",m),u.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${l}`)))})}))}function s(o){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=o,window.dispatchEvent(c),!c.defaultPrevented)throw o}return r.then(o=>{for(const c of o||[])c.status==="rejected"&&s(c.reason);return n().catch(s)})};/**
41 * @remix-run/router v1.23.0
42 *
43 * Copyright (c) Remix Software Inc.
44 *
45 * This source code is licensed under the MIT license found in the
46 * LICENSE.md file in the root directory of this source tree.
47 *
48 * @license MIT
49 */function ri(){return ri=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},ri.apply(this,arguments)}var $t;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})($t||($t={}));const id="popstate";function gf(e){e===void 0&&(e={});function n(i,r){let{pathname:s,search:o,hash:c}=i.location;return Io("",{pathname:s,search:o,hash:c},r.state&&r.state.usr||null,r.state&&r.state.key||"default")}function a(i,r){return typeof r=="string"?r:_r(r)}return yf(n,a,null,e)}function ge(e,n){if(e===!1||e===null||typeof e>"u")throw new Error(n)}function dp(e,n){if(!e){typeof console<"u"&&console.warn(n);try{throw new Error(n)}catch{}}}function ff(){return Math.random().toString(36).substr(2,8)}function rd(e,n){return{usr:e.state,key:e.key,idx:n}}function Io(e,n,a,i){return a===void 0&&(a=null),ri({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof n=="string"?oa(n):n,{state:a,key:n&&n.key||i||ff()})}function _r(e){let{pathname:n="/",search:a="",hash:i=""}=e;return a&&a!=="?"&&(n+=a.charAt(0)==="?"?a:"?"+a),i&&i!=="#"&&(n+=i.charAt(0)==="#"?i:"#"+i),n}function oa(e){let n={};if(e){let a=e.indexOf("#");a>=0&&(n.hash=e.substr(a),e=e.substr(0,a));let i=e.indexOf("?");i>=0&&(n.search=e.substr(i),e=e.substr(0,i)),e&&(n.pathname=e)}return n}function yf(e,n,a,i){i===void 0&&(i={});let{window:r=document.defaultView,v5Compat:s=!1}=i,o=r.history,c=$t.Pop,l=null,d=p();d==null&&(d=0,o.replaceState(ri({},o.state,{idx:d}),""));function p(){return(o.state||{idx:null}).idx}function u(){c=$t.Pop;let C=p(),f=C==null?null:C-d;d=C,l&&l({action:c,location:v.location,delta:f})}function m(C,f){c=$t.Push;let b=Io(v.location,C,f);d=p()+1;let y=rd(b,d),N=v.createHref(b);try{o.pushState(y,"",N)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;r.location.assign(N)}s&&l&&l({action:c,location:v.location,delta:1})}function h(C,f){c=$t.Replace;let b=Io(v.location,C,f);d=p();let y=rd(b,d),N=v.createHref(b);o.replaceState(y,"",N),s&&l&&l({action:c,location:v.location,delta:0})}function x(C){let f=r.location.origin!=="null"?r.location.origin:r.location.href,b=typeof C=="string"?C:_r(C);return b=b.replace(/ $/,"%20"),ge(f,"No window.location.(origin|href) available to create URL for href: "+b),new URL(b,f)}let v={get action(){return c},get location(){return e(r,o)},listen(C){if(l)throw new Error("A history only accepts one active listener");return r.addEventListener(id,u),l=C,()=>{r.removeEventListener(id,u),l=null}},createHref(C){return n(r,C)},createURL:x,encodeLocation(C){let f=x(C);return{pathname:f.pathname,search:f.search,hash:f.hash}},push:m,replace:h,go(C){return o.go(C)}};return v}var sd;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(sd||(sd={}));function xf(e,n,a){return a===void 0&&(a="/"),bf(e,n,a)}function bf(e,n,a,i){let r=typeof n=="string"?oa(n):n,s=zl(r.pathname||"/",a);if(s==null)return null;let o=up(e);vf(o);let c=null;for(let l=0;c==null&&l<o.length;++l){let d=Ef(s);c=Af(o[l],d)}return c}function up(e,n,a,i){n===void 0&&(n=[]),a===void 0&&(a=[]),i===void 0&&(i="");let r=(s,o,c)=>{let l={relativePath:c===void 0?s.path||"":c,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};l.relativePath.startsWith("/")&&(ge(l.relativePath.startsWith(i),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+i+'" is not val
49id. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(i.length));let d=Xt([i,l.relativePath]),p=a.concat(l);s.children&&s.children.length>0&&(ge(s.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+d+'".')),up(s.children,n,p,d)),!(s.path==null&&!s.index)&&n.push({path:d,score:kf(d,s.index),routesMeta:p})};return e.forEach((s,o)=>{var c;if(s.path===""||!((c=s.path)!=null&&c.includes("?")))r(s,o);else for(let l of mp(s.path))r(s,o,l)}),n}function mp(e){let n=e.split("/");if(n.length===0)return[];let[a,...i]=n,r=a.endsWith("?"),s=a.replace(/\?$/,"");if(i.length===0)return r?[s,""]:[s];let o=mp(i.join("/")),c=[];return c.push(...o.map(l=>l===""?s:[s,l].join("/"))),r&&c.push(...o),c.map(l=>e.startsWith("/")&&l===""?"/":l)}function vf(e){e.sort((n,a)=>n.score!==a.score?a.score-n.score:Mf(n.routesMeta.map(i=>i.childrenIndex),a.routesMeta.map(i=>i.childrenIndex)))}const wf=/^:[\w-]+$/,Cf=3,jf=2,Nf=1,Sf=10,Tf=-2,od=e=>e==="*";function kf(e,n){let a=e.split("/"),i=a.length;
vendor: 9,974 bytes, lines 49-58
49return a.some(od)&&(i+=Tf),n&&(i+=jf),a.filter(r=>!od(r)).reduce((r,s)=>r+(wf.test(s)?Cf:s===""?Nf:Sf),i)}function Mf(e,n){return e.length===n.length&&e.slice(0,-1).every((i,r)=>i===n[r])?e[e.length-1]-n[n.length-1]:0}function Af(e,n,a){let{routesMeta:i}=e,r={},s="/",o=[];for(let c=0;c<i.length;++c){let l=i[c],d=c===i.length-1,p=s==="/"?n:n.slice(s.length)||"/",u=Pf({path:l.relativePath,caseSensitive:l.caseSensitive,end:d},p),m=l.route;if(!u)return null;Object.assign(r,u.params),o.push({params:r,pathname:Xt([s,u.pathname]),pathnameBase:Rf(Xt([s,u.pathnameBase])),route:m}),u.pathnameBase!=="/"&&(s=Xt([s,u.pathnameBase]))}return o}function Pf(e,n){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[a,i]=_f(e.path,e.caseSensitive,e.end),r=n.match(a);if(!r)return null;let s=r[0],o=s.replace(/(.)\/+$/,"$1"),c=r.slice(1);return{params:i.reduce((d,p,u)=>{let{paramName:m,isOptional:h}=p;if(m==="*"){let v=c[u]||"";o=s.slice(0,s.length-v.length).replace(/(.)\/+$/,"$1")}const x=c[u];return h&&!x?d[m]=void 0:d[m]=(x||"").replace(/%2F/g,"/"),d},{}),pathname:s,pathnameBase:o,pattern:e}}function _f(e,n,a){n===void 0&&(n=!1),a===void 0&&(a=!0),dp(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let i=[],r="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,c,l)=>(i.push({paramName:c,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(i.push({paramName:"*"}),r+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?r+="\\/*$":e!==""&&e!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,n?void 0:"i"),i]}function Ef(e){try{return e.split("/").map(n=>decodeURIComponent(n).replace(/\//g,"%2F")).join("/")}catch(n){return dp(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+n+").")),e}}function zl(e,n){if(n==="/")return e;if(!e.toLowerCase().startsWith(n.toLowerCase()))return null;let a=n.endsWith("/")?n.length-1:n.length,i=e.charAt(a);return i&&i!=="/"?null:e.slice(a)||"/"}function Lf(e,n){n===void 0&&(n="/");let{pathname:a,search:i="",hash:r=""}=typeof e=="string"?oa(e):e;return{pathname:a?a.startsWith("/")?a:Df(a,n):n,search:Of(i),hash:Kf(r)}}function Df(e,n){let a=n.replace(/\/+$/,"").split("/");return e.split("/").forEach(r=>{r===".."?a.length>1&&a.pop():r!=="."&&a.push(r)}),a.length>1?a.join("/"):"/"}function Ps(e,n,a,i){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+n+"` field ["+JSON.stringify(i)+"].  Please separate it out to the ")+("`to."+a+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function If(e){return e.filter((n,a)=>a===0||n.route.path&&n.route.path.length>0)}function ql(e,n){let a=If(e);return n?a.map((i,r)=>r===a.length-1?i.pathname:i.pathnameBase):a.map(i=>i.pathnameBase)}function Bl(e,n,a,i){i===void 0&&(i=!1);let r;typeof e=="string"?r=oa(e):(r=ri({},e),ge(!r.pathname||!r.pathname.includes("?"),Ps("?","pathname","search",r)),ge(!r.pathname||!r.pathname.includes("#"),Ps("#","pathname","hash",r)),ge(!r.search||!r.search.includes("#"),Ps("#","search","hash",r)));let s=e===""||r.pathname==="",o=s?"/":r.pathname,c;if(o==null)c=a;else{let u=n.length-1;if(!i&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),u-=1;r.pathname=m.join("/")}c=u>=0?n[u]:"/"}let l=Lf(r,c),d=o&&o!=="/"&&o.endsWith("/"),p=(s||o===".")&&a.endsWith("/");return!l.pathname.endsWith("/")&&(d||p)&&(l.pathname+="/"),l}const Xt=e=>e.join("/").replace(/\/\/+/g,"/"),Rf=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Of=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Kf=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Ff(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const pp=["post","put","patch","delete"];new Set(pp);const Hf=["get",...pp];new Set(Hf);/**
50 * React Router v6.30.1
51 *
52 * Copyright (c) Remix Software Inc.
53 *
54 * This source code is licensed under the MIT license found in the
55 * LICENSE.md file in the root directory of this source tree.
56 *
57 * @license MIT
58 */function si(){return si=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},si.apply(this,arguments)}const $l=w.createContext(null),zf=w.createContext(null),sn=w.createContext(null),es=w.createContext(null),Rt=w.createContext({outlet:null,matches:[],isDataRoute:!1}),hp=w.createContext(null);function qf(e,n){let{relative:a}=n===void 0?{}:n;la()||ge(!1);let{basename:i,navigator:r}=w.useContext(sn),{hash:s,pathname:o,search:c}=yp(e,{relative:a}),l=o;return i!=="/"&&(l=o==="/"?i:Xt([i,o])),r.createHref({pathname:l,search:c,hash:s})}function la(){return w.useContext(es)!=null}function gt(){return la()||ge(!1),w.useContext(es).location}function gp(e){w.useContext(sn).static||w.useLayoutEffect(e)}function on(){let{isDataRoute:e}=w.useContext(Rt);return e?t0():Bf()}function Bf(){la()||ge(!1);let e=w.useContext($l),{basename:n,future:a,navigator:i}=w.useContext(sn),{matches:r}=w.useContext(Rt),{pathname:s}=gt(),o=JSON.stringify(ql(r,a.v7_relativeSplatPath)),c=w.useRef(!1);return gp(()=>{c.current=!0}),w.useCallback(function(d,p){if(p===void 0&&(p={}),!c.current)return;if(typeof d=="number"){i.go(d);return}let u=Bl(d,JSON.parse(o),s,p.relative==="path");e==null&&n!=="/"&&(u.pathname=u.pathname==="/"?n:Xt([n,u.pathname])),(p.replace?i.replace:i.push)(u,p.state,p)},[n,i,o,s,e])}function fp(){let{matches:e}=w.useContext(Rt),n=e[e.length-1];return n?n.params:{}}function yp(e,n){let{relative:a}=n===void 0?{}:n,{future:i}=w.useContext(sn),{matches:r}=w.useContext(Rt),{pathname:s}=gt(),o=JSON.stringify(ql(r,i.v7_relativeSplatPath));return w.useMemo(()=>Bl(e,JSON.parse(o),s,a==="path"),[e,o,s,a])}function $f(e,n){return Uf(e,n)}function Uf(e,n,a,i){la()||ge(!1);let{navigator:r}=w.useContext(sn),{matches:s}=w.useContext(Rt),o=s[s.length-1],c=o?o.params:{};o&&o.pathname;let l=o?o.pathnameBase:"/";o&&o.route;let d=gt(),p;if(n){var u;let C=typeof n=="string"?oa(n):n;l==="/"||(u=C.pathname)!=null&&u.startsWith(l)||ge(!1),p=C}else p=d;let m=p.pathname||"/",h=m;if(l!=="/"){let C=l.replace(/^\//,"").split("/");h="/"+m.replace(/^\//,"").split("/").slice(C.length).join("/")}let x=xf(e,{pathname:h}),v=Yf(x&&x.map(C=>Object.assign({},C,{params:Object.assign({},c,C.params),pathname:Xt([l,r.encodeLocation?r.encodeLocation(C.pathname).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?l:Xt([l,r.encodeLocation?r.encodeLocation(C.pathnameBase).pathname:C.pathnameBase])})),s,a,i);return n&&v?w.createElement(es.Provider,{value:{location:si({pathname:"/",search:"",hash:"",state:null,key:"default"},p),navigationType:$t.Pop}},v):v}function Wf(){let e=e0(),n=Ff(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),a=e instanceof Error?e.stack:null,r={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return w.createElement(w.Fragment,null,w.createElement("h2",null,"Unexpected Application Error!"),w.createElement("h3",{style:{fontStyle:"italic"}},n),a?w.createElement("pre",{style:r},a):null,null)}const Vf=w.createElement(Wf,null);class Gf extends w.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,a){return a.location!==n.location||a.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:a.error,location:a.location,revalidation:n.revalidation||a.revalidation}}componentDidCatch(n,a){console.error("React Router caught the following error during render",n,a)}render(){return this.state.error!==void 0?w.createElement(Rt.Provider,{value:this.props.routeContext},w.createElement(hp.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Jf(e){let{routeContext:n,match:a,children:i}=e,r=w.useContext($l);return r&&r.static&&r.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=a.route.id),w.createElement(Rt.Provider,{value:n},i)}function Yf(e,n,a,i){var r;if(n===void 0&&(n=[]),a===void 0&&(a=null),i===void 0&&(i=null),e==null){var s;if(!a)return null;if(a.errors)e=a.matches;else if((s=i)!=null&&s.v7_partialHydration&&n.length===0&&!a.initialized&&a.matches.length>0)e=a.matches;else return null}let o=e,c=(r=a)==null?void 0:r.errors;if(c!=null){let p=o.findIndex(u=>u.route.id&&(c==null?void 0:c[u.route.id])!==void 0);p>=0||ge(!1),o=o.slice(0,Math.min(o.length,p+1))}let l=!1,d=-1;if(a&&i&&i.v7_partialHydration)for(let p=0;p<o.length;p++){let u=o[p];if((u.route.HydrateFallback||u.route.hydrateFallbackElement)&&(d=p),u.route.id){let{loaderData:m,errors:h}=a,x=u.route.loader&&m[u.route.id]===void 0&&(!h||h[u.route.id]===void 0);if(u.route.lazy||x){l=!0,d>=0?o=o.slice(0,d+1):o=[o[0]];break}}}return o.reduceRight((p,u,m)=>{let h,x=!1,v=null,C=null;a&&(h=c&&u.route.id?c[u.route.id]:void 0,v=u.route.errorElement||Vf,l&&(d<0&&m===0?(n0("route-fallback"),x=!0,C=null):d===m&&(x=!0,C=u.route.hydrateFallbackElement||null)));let f=n.concat(o.slice(0,m+1)),b=()=>{let y;return h?y=v:x?y=C:u.route.Component?y=w.createElement(u.route.Component,null):u.route.element?y=u.route.element:y=p,w.createElement(Jf,{match:u,routeContext:{outlet:p,matches:f,isDataRoute:a!=null},children:y})};return a&&(u.route.ErrorBoundary||u.route.errorElement||m===0)?w.createElement(Gf,{location:a.location,revalidation:a.revalidation,component:v,error:h,children:b(),routeC
58ontext:{outlet:null,matches:f,isDataRoute:!0}}):b()},null)}var xp=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(xp||{}),bp=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(bp||{});function Qf(e){let n=w.useContext($l);return n||ge(!1),n}function Zf(e){let n=w.useContext(zf);return n||ge(!1),n}function Xf(e){let n=w.useContext(Rt);return n||ge(!1),n}function vp(e){let n=Xf(),a=n.matches[n.matches.length-1];return a.route.id||ge(!1),a.route.id}function e0(){var e;let n=w.useContext(hp),a=Zf(),i=vp();return n!==void 0?n:(e=a.errors)==null?void 0:e[i]}function t0(){let{router:e}=Qf(xp.UseNavigateStable),n=vp(bp.UseNavigateStable),a=w.useRef(!1);return gp(()=>{a.current=!0}),w.useCallback(function(r,s){s===void 0&&(s={}),a.current&&(typeof r=="number"?e.navigate(r):e.navigate(r,si({fromRouteId:n},s)))},[e,n])}const ld={};function n0(e,n,a){ld[e]||(ld[e]=!0)}function a0(e,n){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function i0(e){let{to:n,replace:a,state:i,relative:r}=e;la()||ge(!1);let{future:s,static:o}=w.useContext(sn),{matches:c}=w.useContext(Rt),{pathname:l}=gt(),d=on(),p=Bl(n,ql(c,s.v7_relativeSplatPath),l,r==="path"),u=JSON.stringify(p);return w.useEffect(()=>d(JSON.parse(u),{replace:a,state:i,relative:r}),[d,u,r,a,i]),null}function W(e){ge(!1)}function r0(e){let{basename:n="/",children:a=null,location:i,navigationType:r=$t.Pop,navigator:s,static:o=!1,future:c}=e;la()&&ge(!1);let l=n.replace(/^\/*/,"/"),d=w.useMemo(()=>({basename:l,navigator:s,static:o,future:si({v7_relativeSplatPath:!1},c)}),[l,c,s,o]);typeof i=="string"&&(i=oa(i));let{pathname:p="/",search:u="",hash:m="",state:h=null,key:x="default"}=i,v=w.useMemo(()=>{let C=zl(p,l);return C==null?null:{location:{pathname:C,search:u,hash:m,state:h,key:x},navigationType:r}},[l,p,u,m,h,x,r]);return v==null?null:w.createElement(sn.Provider,{value:d},w.createElement(es.Provider,{children:a,value:v}))}function cd(e){let{children:n,location:a}=e;return $f(Ro(n),a)}new Promise(()=>{});function Ro(e,n){n===void 0&&(n=[]);let a=[];return w.Children.forEach(e,(i,r)=>{if(!w.isValidElement(i))return;let s=[...n,r];if(i.type===w.Fragment){a.push.apply(a,Ro(i.props.children,s));return}i.type!==W&&ge(!1),!i.props.index||!i.props.children||ge(!1);let o={id:i.props.id||s.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,loader:i.props.loader,action:i.props.action,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(o.children=Ro(i.props.children,s)),a.push(o)}),a}/**
59 * React Router DOM v6.30.1
60 *
61 * Copyright (c) Remix Software Inc.
62 *
63 * This source code is licensed under the MIT license found in the
64 * LICENSE.md file in the root directory of this source tree.
65 *
66 * @license MIT
67 */function Oo(){return Oo=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i])}return e},Oo.apply(this,arguments)}function s0(e,n){if(e==null)return{};var a={},i=Object.keys(e),r,s;for(s=0;s<i.length;s++)r=i[s],!(n.indexOf(r)>=0)&&(a[r]=e[r]);return a}function o0(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function l0(e,n){return e.button===0&&(!n||n==="_self")&&!o0(e)}const c0=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],d0="6";try{window.__reactRouterVersion=d0}catch{}const u0="startTransition",dd=eh[u0];function m0(e){let{basename:n,children:a,future:i,window:r}=e,s=w.useRef();s.current==null&&(s.current=gf({window:r,v5Compat:!0}));let o=s.current,[c,l]=w.useState({action:o.action,location:o.location}),{v7_startTransition:d}=i||{},p=w.useCallback(u=>{d&&dd?dd(()=>l(u)):l(u)},[l,d]);return w.useLayoutEffect(()=>o.listen(p),[o,p]),w.useEffect(()=>a0(i),[i]),w.createElement(r0,{basename:n,children:a,location:c.location,navigationType:c.action,navigator:o,future:i})}const p0=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",h0=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,$=w.forwardRef(function(n,a){let{onClick:i,relative:r,reloadDocument:s,replace:o,state:c,target:l,to:d,preventScrollReset:p,viewTransition:u}=n,m=s0(n,c0),{basename:h}=w.useContext(sn),x,v=!1;
67if(typeof d=="string"&&h0.test(d)&&(x=d,p0))try{let y=new URL(window.location.href),N=d.startsWith("//")?new URL(y.protocol+d):new URL(d),S=zl(N.pathname,h);N.origin===y.origin&&S!=null?d=S+N.search+N.hash:v=!0}catch{}let C=qf(d,{relative:r}),f=g0(d,{replace:o,state:c,target:l,preventScrollReset:p,relative:r,viewTransition:u});function b(y){i&&i(y),y.defaultPrevented||f(y)}return w.createElement("a",Oo({},m,{href:x||C,onClick:v||s?i:b,ref:a,target:l}))});var ud;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(ud||(ud={}));var md;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(md||(md={}));function g0(e,n){let{target:a,replace:i,state:r,preventScrollReset:s,relative:o,viewTransition:c}=n===void 0?{}:n,l=on(),d=gt(),p=yp(e,{relative:o});return w.useCallback(u=>{if(l0(u,a)){u.preventDefault();let m=i!==void 0?i:_r(d)===_r(p);l(e,{replace:m,state:r,preventScrollReset:s,relative:o,viewTransition:c})}},[d,l,p,i,r,a,e,s,o,c])}var f0=typeof Element<"u",y0=typeof Map=="function",x0=typeof Set=="function",b0=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function ar(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var a,i,r;if(Array.isArray(e)){if(a=e.length,a!=n.length)return!1;for(i=a;i--!==0;)if(!ar(e[i],n[i]))return!1;return!0}var s;if(y0&&e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(s=e.entries();!(i=s.next()).done;)if(!n.has(i.value[0]))return!1;for(s=e.entries();!(i=s.next()).done;)if(!ar(i.value[1],n.get(i.value[0])))return!1;return!0}if(x0&&e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(s=e.entries();!(i=s.next()).done;)if(!n.has(i.value[0]))return!1;return!0}if(b0&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){if(a=e.length,a!=n.length)return!1;for(i=a;i--!==0;)if(e[i]!==n[i])return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf=="function"&&typeof n.valueOf=="function")return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString=="function"&&typeof n.toString=="function")return e.toString()===n.toString();if(r=Object.keys(e),a=r.length,a!==Object.keys(n).length)return!1;for(i=a;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;if(f0&&e instanceof Element)return!1;for(i=a;i--!==0;)if(!((r[i]==="_owner"||r[i]==="__v"||r[i]==="__o")&&e.$$typeof)&&!ar(e[r[i]],n[r[i]]))return!1;return!0}return e!==e&&n!==n}var v0=function(n,a){try{return ar(n,a)}catch(i){if((i.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw i}};const w0=Or(v0);var C0=function(e,n,a,i,r,s,o,c){if(!e){var l;if(n===void 0)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[a,i,r,s,o,c],p=0;l=new Error(n.replace(/%s/g,function(){return d[p++]})),l.name="Invariant Violation"}throw l.framesToPop=1,l}},j0=C0;const pd=Or(j0);var N0=function(n,a,i,r){var s=i?i.call(r,n,a):void 0;if(s!==void 0)return!!s;if(n===a)return!0;if(typeof n!="object"||!n||typeof a!="object"||!a)return!1;var o=Object.keys(n),c=Object.keys(a);if(o.length!==c.length)return!1;for(var l=Object.prototype.hasOwnProperty.bind(a),d=0;d<o.length;d++){var p=o[d];if(!l(p))return!1;var u=n[p],m=a[p];if(s=i?i.call(r,u,m,p):void 0,s===!1||s===void 0&&u!==m)return!1}return!0};const S0=Or(N0);var wp=(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))(wp||{}),_s={link:{rel:["amphtml","canonical","alternate"]},script:{type:["application/ld+json"]},meta:{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"]}}
67,hd=Object.values(wp),Ul={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},T0=Object.entries(Ul).reduce((e,[n,a])=>(e[a]=n,e),{}),ut="data-rh",Jn={DEFAULT_TITLE:"defaultTitle",DEFER:"defer",ENCODE_SPECIAL_CHARACTERS:"encodeSpecialCharacters",ON_CHANGE_CLIENT_STATE:"onChangeClientState",TITLE_TEMPLATE:"titleTemplate",PRIORITIZE_SEO_TAGS:"prioritizeSeoTags"},Yn=(e,n)=>{for(let a=e.length-1;a>=0;a-=1){const i=e[a];if(Object.prototype.hasOwnProperty.call(i,n))return i[n]}return null},k0=e=>{let n=Yn(e,"title");const a=Yn(e,Jn.TITLE_TEMPLATE);if(Array.isArray(n)&&(n=n.join("")),a&&n)return a.replace(/%s/g,()=>n);const i=Yn(e,Jn.DEFAULT_TITLE);return n||i||void 0},M0=e=>Yn(e,Jn.ON_CHANGE_CLIENT_STATE)||(()=>{}),Es=(e,n)=>n.filter(a=>typeof a[e]<"u").map(a=>a[e]).reduce((a,i)=>({...a,...i}),{}),A0=(e,n)=>n.filter(a=>typeof a.base<"u").map(a=>a.base).reverse().reduce((a,i)=>{if(!a.length){const r=Object.keys(i);for(let s=0;s<r.length;s+=1){const c=r[s].toLowerCase();if(e.indexOf(c)!==-1&&i[c])return a.concat(i)}}return a},[]),P0=e=>console&&typeof console.warn=="function"&&console.warn(e),Na=(e,n,a)=>{const i={};return a.filter(r=>Array.isArray(r[e])?!0:(typeof r[e]<"u"&&P0(`Helmet: ${e} should be of type "Array". Instead found type "${typeof r[e]}"`),!1)).map(r=>r[e]).reverse().reduce((r,s)=>{const o={};s.filter(l=>{let d;const p=Object.keys(l);for(let m=0;m<p.length;m+=1){const h=p[m],x=h.toLowerCase();n.indexOf(x)!==-1&&!(d==="rel"&&l[d].toLowerCase()==="canonical")&&!(x==="rel"&&l[x].toLowerCase()==="stylesheet")&&(d=x),n.indexOf(h)!==-1&&(h==="innerHTML"||h==="cssText"||h==="itemprop")&&(d=h)}if(!d||!l[d])return!1;const u=l[d].toLowerCase();return i[d]||(i[d]={}),o[d]||(o[d]={}),i[d][u]?!1:(o[d][u]=!0,!0)}).reverse().forEach(l=>r.push(l));const c=Object.keys(o);for(let l=0;l<c.length;l+=1){const d=c[l],p={...i[d],...o[d]};i[d]=p}return r},[]).reverse()},_0=(e,n)=>{if(Array.isArray(e)&&e.length){for(let a=0;a<e.length;a+=1)if(e[a][n])return!0}return!1},E0=e=>({baseTag:A0(["href"],e),bodyAttributes:Es("bodyAttributes",e),defer:Yn(e,Jn.DEFER),encode:Yn(e,Jn.ENCODE_SPECIAL_CHARACTERS),htmlAttributes:Es("htmlAttributes",e),linkTags:Na("link",["rel","href"],e),metaTags:Na("meta",["name","charset","http-equiv","property","itemprop"],e),noscriptTags:Na("noscript",["innerHTML"],e),onChangeClientState:M0(e),scriptTags:Na("script",["src","innerHTML"],e),styleTags:Na("style",["cssText"],e),title:k0(e),titleAttributes:Es("titleAttributes",e),prioritizeSeoTags:_0(e,Jn.PRIORITIZE_SEO_TAGS)}),Cp=e=>Array.isArray(e)?e.join(""):e,L0=(e,n)=>{const a=Object.keys(e);for(let i=0;i<a.length;i+=1)if(n[a[i]]&&n[a[i]].includes(e[a[i]]))return!0;return!1},Ls=(e,n)=>Array.isArray(e)?e.reduce((a,i)=>(L0(i,n)?a.priority.push(i):a.default.push(i),a),{priority:[],default:[]}):{default:e,priority:[]},gd=(e,n)=>({...e,[n]:void 0}),D0=["noscript","script","style"],Ko=(e,n=!0)=>n===!1?String(e):String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),jp=e=>Object.keys(e).reduce((n,a)=>{const i=typeof e[a]<"u"?`${a}="${e[a]}"`:`${a}`;return n?`${n} ${i}`:i},""),I0=(e,n,a,i)=>{const r=jp(a),s=Cp(n);return r?`<${e} ${ut}="true" ${r}>${Ko(s,i)}</${e}>`:`<${e} ${ut}="true">${Ko(s,i)}</${e}>`},R0=(e,n,a=!0)=>n.reduce((i,r)=>{const s=r,o=Object.keys(s).filter(d=>!(d==="innerHTML"||d==="cssText")).reduce((d,p)=>{const u=typeof s[p]>"u"?p:`${p}="${Ko(s[p],a)}"`;return d?`${d} ${u}`:u},""),c=s.innerHTML||s.cssText||"",l=D0.indexOf(e)===-1;return`${i}<${e} ${ut}="true" ${o}${l?"/>":`>${c}</${e}>`}`},""),Np=(e,n={})=>Object.keys(e).reduce((a,i)=>{const r=Ul[i];return a[r||i]=e[i],a},n),O0=(e,n,a)=>{const i={key:n,[ut]:!0},r=Np(a,i);return[we.createElement("title",r,n)]},ir=(e,n)=>n.map((a,i)=>{const r={key:i,[ut]:!0};return Object.keys(a).forEach(s=>{const c=Ul[s]||s;if(c==="innerHTML"||c==="cssText"){const l=a.innerHTML||a.cssText;r.dangerouslySetInnerHTML={__html:l}}else r[c]=a[s]}),we.createElement(e,r)}),Ze=(e,n,a=!0)=>{switch(e){case"title":return{toComponent:()=>O0(e,n.title,n.titleAttributes),toString:()=>I0(e,n.title,n.titleAttributes,a)};case"bodyAttributes":case"htmlAttributes":return{toComponent:()=>Np(n),toString:()=>jp(n)};default:return{toComponent:()=>ir(e,n),toString:()=>R0(e,n,a)}}},K0=({metaTags:e,linkTags:n,scriptTags:a,encode:i})=>{const r=Ls(e,_s.meta),s=Ls(n,_s.link),o=Ls(a,_s.script);return{priorityMethods:{toComponent:()=>[...ir("meta",r.priority),...ir("link",s.priority),...ir("script",o.priority)],toString:()=>`${Ze("meta",r.priority,i)} ${Ze("link",s.priority,i)} ${Ze("script",o.priority,i)}`},metaTags:r.default,linkTags:s.default,scriptTags:o.default}},F0=e=>{const{baseTag:n,bodyAttributes:a,encode:i=!0,htmlAttributes:r,noscriptTags:s,styleTags:o,title:c="",titleAttributes:l,prioritizeSeoTags:d}=e;let{linkTags:p,metaTags:u,scriptTags:m}=e,h={toComponent:()=>{},toString:()=>""};return d&&({priorityMethods:h,linkTags:p,metaTags:u,scriptTags:m}=K0(e)),{priority:h,base:Ze("base",n,i),bodyAttributes:Ze("bodyAttributes",a,i),htmlAttributes:Ze("htmlAttributes",r,i),link:Ze("link",p,i),meta:Ze("meta",u,i),noscript:Ze("noscript",s,i),script:Ze("script",m,i),style:Ze("style",o,i),title:Ze("title",{title:c,titleAttributes:l},i)}},Fo=F0,Fi=[],Sp=!!(typeof window<"u"&&window.document&&window.document.createElement),Ho=class{constructor(e,n){yt(this,"instances",[]);yt(this,"canUseDOM",Sp);yt(this,"context");yt(this,"value",{setHelmet:e=>{this.context.helmet=e},helmetInstances:{get:()=>this.canUseDOM?Fi:this.instances,add:e=>{(this.canUseDOM?Fi:this.instances).push(e)},remove:e=>{const n=(this.canUseDOM?Fi:this.instances).indexOf(e);(this.canUseDOM?Fi:this.instances).splice(n,1)}}});this.context=e,this.canUseDOM=n||!1,n||(e.helmet=Fo({baseTag:[],bodyAttributes:{},htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))}},H0={},Tp=we.createContext(H0),gn,kp=(gn=class extends w.Component{constructor(a){
67super(a);yt(this,"helmetData");this.helmetData=new Ho(this.props.context||{},gn.canUseDOM)}render(){return we.createElement(Tp.Provider,{value:this.helmetData.value},this.props.children)}},yt(gn,"canUseDOM",Sp),gn),kn=(e,n)=>{const a=document.head||document.querySelector("head"),i=a.querySelectorAll(`${e}[${ut}]`),r=[].slice.call(i),s=[];let o;return n&&n.length&&n.forEach(c=>{const l=document.createElement(e);for(const d in c)if(Object.prototype.hasOwnProperty.call(c,d))if(d==="innerHTML")l.innerHTML=c.innerHTML;else if(d==="cssText")l.styleSheet?l.styleSheet.cssText=c.cssText:l.appendChild(document.createTextNode(c.cssText));else{const p=d,u=typeof c[p]>"u"?"":c[p];l.setAttribute(d,u)}l.setAttribute(ut,"true"),r.some((d,p)=>(o=p,l.isEqualNode(d)))?r.splice(o,1):s.push(l)}),r.forEach(c=>{var l;return(l=c.parentNode)==null?void 0:l.removeChild(c)}),s.forEach(c=>a.appendChild(c)),{oldTags:r,newTags:s}},zo=(e,n)=>{const a=document.getElementsByTagName(e)[0];if(!a)return;const i=a.getAttribute(ut),r=i?i.split(","):[],s=[...r],o=Object.keys(n);for(const c of o){const l=n[c]||"";a.getAttribute(c)!==l&&a.setAttribute(c,l),r.indexOf(c)===-1&&r.push(c);const d=s.indexOf(c);d!==-1&&s.splice(d,1)}for(let c=s.length-1;c>=0;c-=1)a.removeAttribute(s[c]);r.length===s.length?a.removeAttribute(ut):a.getAttribute(ut)!==o.join(",")&&a.setAttribute(ut,o.join(","))},z0=(e,n)=>{typeof e<"u"&&document.title!==e&&(document.title=Cp(e)),zo("title",n)},fd=(e,n)=>{const{baseTag:a,bodyAttributes:i,htmlAttributes:r,linkTags:s,metaTags:o,noscriptTags:c,onChangeClientState:l,scriptTags:d,styleTags:p,title:u,titleAttributes:m}=e;zo("body",i),zo("html",r),z0(u,m);const h={baseTag:kn("base",a),linkTags:kn("link",s),metaTags:kn("meta",o),noscriptTags:kn("noscript",c),scriptTags:kn("script",d),styleTags:kn("style",p)},x={},v={};Object.keys(h).forEach(C=>{const{newTags:f,oldTags:b}=h[C];f.length&&(x[C]=f),b.length&&(v[C]=h[C].oldTags)}),n&&n(),l(e,x,v)},Sa=null,q0=e=>{Sa&&cancelAnimationFrame(Sa),e.defer?Sa=requestAnimationFrame(()=>{fd(e,()=>{Sa=null})}):(fd(e),Sa=null)},B0=q0,yd=class extends w.Component{constructor(){super(...arguments);yt(this,"rendered",!1)}shouldComponentUpdate(n){return!S0(n,this.props)}componentDidUpdate(){this.emitChange()}componentWillUnmount(){const{helmetInstances:n}=this.props.context;n.remove(this),this.emitChange()}emitChange(){const{helmetInstances:n,setHelmet:a}=this.props.context;let i=null;const r=E0(n.get().map(s=>{const o={...s.props};return delete o.context,o}));kp.canUseDOM?B0(r):Fo&&(i=Fo(r)),a(i)}init(){if(this.rendered)return;this.rendered=!0;const{helmetInstances:n}=this.props.context;n.add(this),this.emitChange()}render(){return this.init(),null}},Hs,Oe=(Hs=class extends w.Component{shouldComponentUpdate(e){return!w0(gd(this.props,"helmetData"),gd(e,"helmetData"))}mapNestedChildrenToProps(e,n){if(!n)return null;switch(e.type){case"script":case"noscript":return{innerHTML:n};case"style":return{cssText:n};default:throw new Error(`<${e.type} /> elements are self-closing and can not contain children. Refer to our API for more information.`)}}flattenArrayTypeChildren(e,n,a,i){return{...n,[e.type]:[...n[e.type]||[],{...a,...this.mapNestedChildrenToProps(e,i)}]}}mapObjectTypeChildren(e,n,a,i){switch(e.type){case"title":return{...n,[e.type]:i,titleAttributes:{...a}};case"body":return{...n,bodyAttributes:{...a}};case"html":return{...n,htmlAttributes:{...a}};default:return{...n,[e.type]:{...a}}}}mapArrayTypeChildrenToProps(e,n){let a={...n};return Object.keys(e).forEach(i=>{a={...a,[i]:e[i]}}),a}warnOnInvalidChildren(e,n){return pd(hd.some(a=>e.type===a),typeof e.type=="function"?"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 ${hd.join(", ")} are allowed. Helmet does not support rendering <${e.type}> elements. Refer to our API for more information.`),pd(!n||typeof n=="string"||Array.isArray(n)&&!n.some(a=>typeof a!="string"),`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(e,n){let a={};
67return we.Children.forEach(e,i=>{if(!i||!i.props)return;const{children:r,...s}=i.props,o=Object.keys(s).reduce((l,d)=>(l[T0[d]||d]=s[d],l),{});let{type:c}=i;switch(typeof c=="symbol"?c=c.toString():this.warnOnInvalidChildren(i,r),c){case"Symbol(react.fragment)":n=this.mapChildrenToProps(r,n);break;case"link":case"meta":case"noscript":case"script":case"style":a=this.flattenArrayTypeChildren(i,a,o,r);break;default:n=this.mapObjectTypeChildren(i,n,o,r);break}}),this.mapArrayTypeChildrenToProps(a,n)}render(){const{children:e,...n}=this.props;let a={...n},{helmetData:i}=n;if(e&&(a=this.mapChildrenToProps(e,a)),i&&!(i instanceof Ho)){const r=i;i=new Ho(r.context,!0),delete a.helmetData}return i?we.createElement(yd,{...a,context:i.value}):we.createElement(Tp.Consumer,null,r=>we.createElement(yd,{...a,context:r}))}},yt(Hs,"defaultProps",{defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1}),Hs);function $0(){if(console&&console.warn){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];xn(n[0])&&(n[0]=`react-i18next:: ${n[0]}`),console.warn(...n)}}const xd={};function qo(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];xn(n[0])&&xd[n[0]]||(xn(n[0])&&(xd[n[0]]=new Date),$0(...n))}const Mp=(e,n)=>()=>{if(e.isInitialized)n();else{const a=()=>{setTimeout(()=>{e.off("initialized",a)},0),n()};e.on("initialized",a)}},bd=(e,n,a)=>{e.loadNamespaces(n,Mp(e,a))},vd=(e,n,a,i)=>{xn(a)&&(a=[a]),a.forEach(r=>{e.options.ns.indexOf(r)<0&&e.options.ns.push(r)}),e.loadLanguages(n,Mp(e,i))},U0=function(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=n.languages[0],r=n.options?n.options.fallbackLng:!1,s=n.languages[n.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const o=(c,l)=>{const d=n.services.backendConnector.state[`${c}|${l}`];return d===-1||d===2};return a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,e)?!1:!!(n.hasResourceBundle(i,e)||!n.services.backendConnector.backend||n.options.resources&&!n.options.partialBundledLanguages||o(i,e)&&(!r||o(s,e)))},W0=function(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};
67return!n.languages||!n.languages.length?(qo("i18n.languages were undefined or empty",n.languages),!0):n.options.ignoreJSONStructure!==void 0?n.hasLoadedNamespace(e,{lng:a.lng,precheck:(r,s)=>{if(a.bindI18n&&a.bindI18n.indexOf("languageChanging")>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!s(r.isLanguageChangingTo,e))return!1}}):U0(e,n,a)},xn=e=>typeof e=="string",V0=e=>typeof e=="object"&&e!==null,G0=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,J0={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},Y0=e=>J0[e],Q0=e=>e.replace(G0,Y0);let Bo={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:Q0};const Z0=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Bo={...Bo,...e}},X0=()=>Bo;let Ap;const ey=e=>{Ap=e},ty=()=>Ap,ny={type:"3rdParty",init(e){Z0(e.options.react),ey(e)}},ay=w.createContext();class iy{constructor(){yt(this,"getUsedNamespaces",()=>Object.keys(this.usedNamespaces));this.usedNamespaces={}}addUsedNamespaces(n){n.forEach(a=>{this.usedNamespaces[a]||(this.usedNamespaces[a]=!0)})}}const ry=(e,n)=>{const a=w.useRef();return w.useEffect(()=>{a.current=e},[e,n]),a.current},Pp=(e,n,a,i)=>e.getFixedT(n,a,i),sy=(e,n,a,i)=>w.useCallback(Pp(e,n,a,i),[e,n,a,i]),V=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:a}=n,{i18n:i,defaultNS:r}=w.useContext(ay)||{},s=a||i||ty();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new iy),!s){qo("You will need to pass in an i18next instance by using initReactI18next");const N=(k,T)=>xn(T)?T:V0(T)&&xn(T.defaultValue)?T.defaultValue:Array.isArray(k)?k[k.length-1]:k,S=[N,{},!1];return S.t=N,S.i18n={},S.ready=!1,S}s.options.react&&s.options.react.wait!==void 0&&qo("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const o={...X0(),...s.options.react,...n},{useSuspense:c,keyPrefix:l}=o;let d=r||s.options&&s.options.defaultNS;d=xn(d)?[d]:d||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(d);const p=(s.isInitialized||s.initializedStoreOnce)&&d.every(N=>W0(N,s,o)),u=sy(s,n.lng||null,o.nsMode==="fallback"?d:d[0],l),m=()=>u,h=()=>Pp(s,n.lng||null,o.nsMode==="fallback"?d:d[0],l),[x,v]=w.useState(m);let C=d.join();n.lng&&(C=`${n.lng}${C}`);const f=ry(C),b=w.useRef(!0);w.useEffect(()=>{const{bindI18n:N,bindI18nStore:S}=o;b.current=!0,!p&&!c&&(n.lng?vd(s,n.lng,d,()=>{b.current&&v(h)}):bd(s,d,()=>{b.current&&v(h)})),p&&f&&f!==C&&b.current&&v(h);const k=()=>{b.current&&v(h)};return N&&s&&s.on(N,k),S&&s&&s.store.on(S,k),()=>{b.current=!1,N&&s&&N.split(" ").forEach(T=>s.off(T,k)),S&&s&&S.split(" ").forEach(T=>s.store.off(T,k))}},[s,C]),w.useEffect(()=>{b.current&&p&&v(m)},[s,l,p]);const y=[x,s,p];if(y.t=x,y.i18n=s,y.ready=p,p||!p&&!c)return y;throw new Promise(N=>{n.lng?vd(s,n.lng,d,()=>N()):bd(s,d,()=>N())})};function wd({className:e="",placeholder:n,onSearch:a,onFocus:i,onBlur:r}){const[s,o]=w.useState(""),{t:c}=V(),l=p=>{p.preventDefault(),a&&s.trim()&&a(s.trim())},d=p=>{o(p.target.value)};return t.jsx("div",{className:`w-full max-w-2xl mx-auto ${e}`,children:t.jsx("form",{onSubmit:l,className:"relative",children:t.jsxs("div",{className:"relative flex items-center",children:[t.jsx("input",{type:"text",value:s,onChange:d,placeholder:n||c("search.placeholder","Search CCTCMA"),className:"w-full pl-4 pr-12 py-3 text-sm bg-white border border-gray-300 rounded-lg shadow-sm focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500 transition-all duration-200 hover:border-gray-400",onFocus:i,onBlur:r}),t.jsx("button",{type:"submit",className:"absolute right-2 p-2 text-gray-400 hover:text-primary-600 transition-colors duration-200 focus:outline-none","aria-label":c("search.button","Search"),children:t.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})})]})})})}const Ta=(e,n)=>{typeof window<"u"&&window.gtag&&window.gtag("event","click",{event_category:"navigation",event_label:`${e} -> ${n}`,page_location:window.location.href})},oy=(e,n)=>{typeof window<"u"&&window.gtag&&window.gtag("event","language_switch",{event_category:"user_engagement",from_language:e,to_language:n,page_location:window.location.href})},Hi=(e,n)=>{typeof window<"u"&&window.gtag&&window.gtag("event","cta_click",{event_category:"conversion",event_label:e,destination:n,page_location:window.location.href})},ly=(e,n)=>{typeof window<"u"&&window.gtag&&window.gtag("event","search",{event_category:"engagement",search_term:e,results_count:n,page_location:window.location.href})},zi=[{name:"nav.home",href:"/"},{name:"nav.about",href:"/about",dropdown:[{name:"nav.about.about",href:"/about"},{name:"nav.about.presidents-message",href:"/about/presidents-message"},{name:"nav.about.our-faculty",href:"/about/our-faculty"},{name:"nav.about.advisory-committee",href:"/about/advisory-committee"},{name:"nav.about.why-choose-cctcma",href:"/about/why-choose-cctcma"},{name:"nav.about.faq",href:"/about/faq"},{name:"nav.about.photo-gallery",href:"/about/photo-gallery"}
67,{name:"nav.about.hiring",href:"/about/career/hiring"},{name:"nav.about.job-listing",href:"/about/career/job-listing"},{name:"nav.about.college-news",href:"/about/college-news"}]},{name:"nav.programs",href:"/programs",dropdown:[{name:"nav.programs.massage",href:"/programs/massage"},{name:"nav.programs.acupuncture",href:"/programs/acupuncture"},{name:"nav.programs.tcm",href:"/programs/tcm"}]},{name:"nav.admission",href:"/admission",dropdown:[{name:"nav.admission.requirements",href:"/admission"},{name:"nav.admission.apply",href:"/admission/apply"},{name:"nav.admission.tuition",href:"/admission/fees"}]},{name:"nav.clinic",href:"/clinic",dropdown:[{name:"nav.clinic.services",href:"/clinic"},{name:"nav.clinic.book",href:"https://cctcma.janeapp.com/",external:!0},{name:"nav.clinic.practitioners",href:"/clinic/practitioners"}]},{name:"nav.exam",href:"/exam",dropdown:[{name:"nav.exam.what-is-pan-canadian",href:"/exam/what-is-pan-canadian-exam"},{name:"nav.exam.cctcma-support",href:"/exam/cctcma-support"}]},{name:"nav.contact",href:"/contact"}];function cy(){var Q,B;const[e,n]=w.useState(!1),[a,i]=w.useState(null),[r,s]=w.useState(null),[o,c]=w.useState(!0),[l,d]=w.useState(0),[p,u]=w.useState(!1),{t:m,i18n:h}=V(),x=gt(),v=on(),C=h.language,f=C==="zh"?h.getResource(C,"translation","footer.company.subtitle")||"":m("footer.company.subtitle"),b=f&&f.trim().length>0,y=w.useRef(null),N=w.useRef(null);w.useEffect(()=>{const L=()=>{const _=window.scrollY;_>l&&_>50?c(!1):c(!0),d(_)};return window.addEventListener("scroll",L,{passive:!0}),()=>window.removeEventListener("scroll",L)},[l]);const S=L=>{const _=L.toLowerCase().trim();if(!_)return[];const R=[];return zi.forEach(q=>{const J=m(q.name).toLowerCase(),fe=m(`nav.${q.name}.description`,"").toLowerCase();(J.includes(_)||fe.includes(_))&&R.push({title:m(q.name),description:m(`nav.${q.name}.description`,""),url:q.href,category:"Navigation",relevance:J.includes(_)?10:5}),q.dropdown&&q.dropdown.forEach(se=>{const Qe=m(se.name).toLowerCase(),Ee=m(`nav.${se.name}.description`,"").toLowerCase();(Qe.includes(_)||Ee.includes(_))&&R.push({title:m(se.name),description:m(`nav.${se.name}.description`,""),url:se.href,category:"Navigation",relevance:Qe.includes(_)?9:4})})}),["massage","acupuncture","tcm"].forEach(q=>{const J=m(`programs.${q}.title`).toLowerCase(),fe=m(`programs.${q}.description`).toLowerCase();(J.includes(_)||fe.includes(_))&&R.push({title:m(`programs.${q}.title`),description:m(`programs.${q}.description`),url:`/programs/${q}`,category:"Programs",relevance:J.includes(_)?8:3})}),[{term:"traditional chinese medicine",url:"/programs/tcm",category:"Programs"},{term:"acupuncture",url:"/programs/acupuncture",category:"Programs"},{term:"massage therapy",url:"/programs/massage",category:"Programs"},{term:"apply",url:"/admission/apply",category:"Admission"},{term:"admission",url:"/admission",category:"Admission"},{term:"clinic",url:"/clinic",category:"Clinic"},{term:"book treatment",url:"https://cctcma.janeapp.com/",category:"Clinic"},{term:"contact",url:"/contact",category:"Contact"},{term:"exam",url:"/exam",category:"Exam"},{term:"national exam",url:"/exam",category:"Exam"},{term:"about",url:"/about",category:"About"},{term:"faculty",url:"/about/our-faculty",category:"About"},{term:"faq",url:"/about/faq",category:"About"}].forEach(({term:q,url:J,category:fe})=>{if(q.includes(_)||_.includes(q)){const se=m(`nav.${fe.toLowerCase()}`)||fe;R.push({title:se,description:m("common.search.findInformationAbout",{term:q}),url:J,category:fe,relevance:6})}}),R.filter((q,J,fe)=>J===fe.findIndex(se=>se.url===q.url)).sort((q,J)=>J.relevance-q.relevance).slice(0,10)},k=L=>{const _=S(L);if(ly(L,_.length),_.length>0){const R=_[0];if(v(R.url),typeof window<"u"){const M=document.createElement("div");M.className="fixed top-20 right-4 bg-primary-600 text-white px-4 py-2 rounded-lg shadow-lg z-50 transition-all duration-300",M.textContent=m("common.search.foundResults",{count:_.length,s:_.length>1?"s":"",query:L}),document.body.appendChild(M),setTimeout(()=>{M.style.opacity="0",setTimeout(()=>document.body.removeChild(M),300)},2e3)}}else if(typeof window<"u"){const R=document.createElement("div");R.className="fixed top-20 right-4 bg-gray-600 text-white px-4 py-2 rounded-lg shadow-lg z-50 transition-all duration-300",R.textContent=m("common.search.noResultsFor",{query:L}),document.body.appendChild(R),setTimeout(()=>{R.style.opacity="0",setTimeout(()=>document.body.removeChild(R),300)},2e3)}},T=()=>{const L=h.language,_=h.language==="zh"?"en":"zh";oy(L,_),h.changeLanguage(_)},I=()=>{n(!e)},A=(L,_)=>{Ta(_,L),n(!1),i(null)},D=(L,_)=>{var z;N.current&&(clearTimeout(N.current),N.current=null);const M=_.currentTarget.getBoundingClientRect(),F=(z=y.current)==null?void 0:z.getBoundingClientRect();F&&s({left:M.left-F.left,width:M.width}),i(L)},H=()=>{N.current=window.setTimeout(()=>{i(null),s(null)},100)},O=()=>{N.current&&(clearTimeout(N.current),N.current=null)};return t.jsxs("header",{ref:y,className:`bg-white/95 backdrop-blur-md shadow-healing-soft sticky top-0 z-50 border-b border-primary-200 transition-transform duration-300 ${o?"translate-y-0":"-translate-y-full"}`,children:[t.jsxs("div",{className:"w-full px-3 sm:px-4 lg:px-6",children:[t.jsxs("div",{className:"flex items-center justify-between h-20 md:h-24",children:[t.jsx("div",{className:"flex-shrink-0 flex items-center",children:t.jsxs($,{to:"/",className:"flex items-center space-x-3",onClick:()=>Ta("Logo","/"),children:[t.jsxs("div",{className:"flex flex-col items-center",children:[t.jsx("img",{className:"h-14 w-14 md:h-16 md:w-16 object-contain drop-shadow-md",src:"/images/logo.png",alt:"Calgary College of Traditional Chinese Medicine and Acupuncture Logo"}),t.jsx("div",{className:"text-xs font-bold text-primary-700 mt-1",children:"CCTCMA"})]}),t.jsxs("div",{className:`transition-all duration-300 ${p?"hidden lg:hidden":"block"}`,children:[t.jsxs("div",{className:"hidden lg:block",children:[t.jsx("div",{className:"text-base xl:text-lg font-bold text-primary-700 leading-tight font-chinese",children:m("footer.company.name")}
67),b&&t.jsx("div",{className:"text-base xl:text-lg font-bold text-primary-700 leading-tight font-chinese",children:f})]}),t.jsxs("div",{className:"hidden md:block lg:hidden",children:[t.jsx("div",{className:"text-sm font-bold text-primary-700 leading-tight",children:m("footer.company.name")}),b&&t.jsx("div",{className:"text-sm font-bold text-primary-700 leading-tight",children:f})]}),t.jsxs("div",{className:"block md:hidden",children:[t.jsx("div",{className:"text-xs font-bold text-primary-700 leading-tight",children:m("footer.company.name")}),b&&t.jsx("div",{className:"text-xs font-bold text-primary-700 leading-tight",children:f})]})]})]})}),t.jsx("div",{className:"hidden md:block flex-1 max-w-md mx-4 lg:mx-8",children:t.jsx(wd,{onSearch:k,placeholder:m("common.search.placeholder"),onFocus:()=>u(!0),onBlur:()=>u(!1)})}),t.jsxs("div",{className:"flex items-center space-x-2 lg:space-x-4",children:[t.jsxs("button",{onClick:T,className:"flex items-center space-x-2 px-3 py-2 text-neutral-600 hover:text-primary-600 transition-all duration-300 rounded-lg hover:bg-primary-50 group",children:[t.jsx("svg",{className:"w-5 h-5 group-hover:scale-110 transition-transform duration-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9v-9m0-9v9m0 9c-5 0-9-4-9-9s4-9 9-9"})}),t.jsx("span",{className:"text-sm 2xl:text-base font-medium hidden sm:block",children:h.language==="zh"?"English":"中文"})]}),t.jsxs("div",{className:"hidden lg:flex lg:items-center lg:space-x-3",children:[t.jsxs($,{to:"/admission/apply",className:"bg-primary-600 text-white px-4 xl:px-6 py-2 xl:py-3 rounded-lg text-sm xl:text-base font-semibold hover:bg-primary-700 transition-all duration-300 hover:shadow-lg transform hover:scale-105 whitespace-nowrap group relative overflow-hidden",onClick:()=>Hi("Apply Now","/admission/apply"),children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-white/0 via-white/20 to-white/0 translate-x-[-200%] group-hover:translate-x-[200%] transition-transform duration-700 ease-in-out"}),t.jsx("span",{className:"relative z-10",children:m("nav.applyNow")})]}),t.jsxs("a",{href:"https://cctcma.janeapp.com/",target:"_blank",rel:"noopener noreferrer",className:"border-2 border-primary-600 text-primary-600 px-4 xl:px-6 py-2 xl:py-3 rounded-lg text-sm xl:text-base font-semibold hover:bg-primary-600 hover:text-white transition-all duration-300 whitespace-nowrap group relative overflow-hidden",onClick:()=>Hi("Book Treatment","https://cctcma.janeapp.com/"),children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-primary-600/0 via-primary-600/20 to-primary-600/0 translate-x-[-200%] group-hover:translate-x-[200%] transition-transform duration-700 ease-in-out"}),t.jsx("span",{className:"relative z-10",children:m("nav.bookTreatment")})]})]}),t.jsx("div",{className:"xl:hidden",children:t.jsxs("button",{onClick:I,className:"inline-flex items-center justify-center p-2 rounded-lg text-gray-600 hover:text-primary-600 hover:bg-gray-50 focus:outline-none transition-all duration-200",children:[t.jsx("span",{className:"sr-only",children:m("common.search.openMainMenu")}),e?t.jsx("svg",{className:"block h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}):t.jsx("svg",{className:"block h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})]})})]})]}),t.jsx("div",{className:"md:hidden pb-4",children:t.jsx(wd,{onSearch:k,placeholder:m("common.search.placeholder")})})]}),t.jsxs("nav",{className:"w-full px-3 sm:px-4 lg:px-6",children:[t.jsx("div",{className:"flex items-center justify-center h-14",children:t.jsx("div",{className:"hidden xl:block",children:t.jsx("div",{className:"flex items-center space-x-4",children:zi.map(L=>t.jsx("div",{className:"relative",children:t.jsxs($,{to:L.href,className:`${x.pathname===L.href?"text-primary-600 bg-primary-50 border-primary-200":"text-gray-700 hover:text-primary-600 hover:bg-primary-50 border-transparent hover:border-primary-200"} px-3 lg:px-4 py-2 rounded-lg text-sm lg:text-base font-medium transition-all duration-200 border group flex items-center`,onClick:_=>{L.dropdown?(_.preventDefault(),D(L.name,_)):A(L.href,L.name)},onMouseEnter:_=>{L.dropdown&&D(L.name,_)},onMouseLeave:H,children:[m(L.name),L.dropdown&&t.jsx("svg",{className:`ml-1 h-4 w-4 transition-transform duration-200 ${a===L.name?"rotate-180":""}`,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",children:t.jsx("path",{fillRule:"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",clipRule:"evenodd"})})]})},L.name))})})}),a&&r&&t.jsx("div",{className:"absolute left-0 w-full bg-white shadow-healing-medium border-t border-gray-200 z-50",onMouseEnter:O,onMouseLeave:H,style:{to
67p:"100%"},children:t.jsx("div",{className:"max-w-7xl mx-auto px-3 sm:px-4 lg:px-6 py-4",children:t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:(B=(Q=zi.find(L=>L.name===a))==null?void 0:Q.dropdown)==null?void 0:B.map((L,_)=>{const R=x.pathname===L.href;return L.external?t.jsx("a",{href:L.href,target:"_blank",rel:"noopener noreferrer",onClick:()=>A(L.href,L.name),className:"text-gray-700 hover:text-primary-600 hover:bg-primary-50 border-transparent hover:border-primary-200 block px-4 py-3 text-sm font-medium rounded-lg transition-all duration-200 border group",children:t.jsxs("div",{className:"flex items-center",children:[t.jsx("div",{className:"flex-1",children:t.jsx("div",{className:"font-medium",children:m(L.name)})}),t.jsx("svg",{className:"ml-2 h-4 w-4 text-gray-400 group-hover:text-primary-500 transition-colors duration-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})},_):t.jsx($,{to:L.href,onClick:()=>A(L.href,L.name),className:`${R?"text-primary-600 bg-primary-50 border-primary-200":"text-gray-700 hover:text-primary-600 hover:bg-primary-50 border-transparent hover:border-primary-200"} block px-4 py-3 text-sm font-medium rounded-lg transition-all duration-200 border group`,children:t.jsxs("div",{className:"flex items-center",children:[t.jsx("div",{className:"flex-1",children:t.jsx("div",{className:"font-medium",children:m(L.name)})}),t.jsx("svg",{className:"ml-2 h-4 w-4 text-gray-400 group-hover:text-primary-500 transition-colors duration-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})},_)})})})}),e&&t.jsx("div",{className:"xl:hidden fixed left-0 right-0 top-20 md:top-24 bg-white/95 backdrop-blur-md border-t border-gray-200 shadow-md z-40",children:t.jsxs("div",{className:"px-4 pt-2 pb-6 space-y-2 max-h-[calc(100vh-5rem)] md:max-h-[calc(100vh-6rem)] overflow-y-auto",children:[zi.map(L=>t.jsxs("div",{children:[t.jsx($,{to:L.href,className:`${x.pathname===L.href?"bg-primary-50 text-primary-600 border-l-4 border-primary-600 shadow-sm":"text-gray-700 hover:bg-primary-50 hover:text-primary-600 hover:border-l-4 hover:border-primary-400"} block px-4 py-3 text-base font-medium transition-all duration-300 rounded-r-lg`,onClick:()=>{n(!1),Ta(m(L.name),L.href)},children:m(L.name)}),L.dropdown&&t.jsx("div",{className:"ml-4 space-y-1 border-l-2 border-primary-500 pl-4",children:L.dropdown.map(_=>_.external?t.jsx("a",{href:_.href,target:"_blank",rel:"noopener noreferrer",className:"block px-4 py-2 text-sm text-gray-600 hover:text-primary-600 hover:bg-primary-50 transition-all duration-300 rounded-md",onClick:()=>{n(!1),Ta(m(_.name),_.href)},children:m(_.name)},_.name):t.jsx($,{to:_.href,className:"block px-4 py-2 text-sm text-gray-600 hover:text-primary-600 hover:bg-primary-50 transition-all duration-300 rounded-md",onClick:()=>{n(!1),Ta(m(_.name),_.href)},children:m(_.name)},_.name))})]},L.name)),t.jsxs("div",{className:"pt-6 space-y-3 border-t border-gray-200",children:[t.jsx($,{to:"/admission/apply",className:"block w-full bg-primary-600 text-white px-6 py-4 rounded-lg text-base font-semibold text-center transition-all duration-300 shadow-md hover:shadow-lg hover:bg-primary-700",onClick:()=>{n(!1),Hi("Apply Now Mobile","/admission/apply")},children:m("nav.applyNow")}),t.jsx("a",{href:"https://cctcma.janeapp.com/",target:"_blank",rel:"noopener noreferrer",className:"block w-full border-2 border-primary-600 text-primary-600 hover:bg-primary-600 hover:text-white px-6 py-4 rounded-lg text-base font-semibold text-center transition-all duration-300 shadow-sm hover:shadow-md",onClick:()=>{n(!1),Hi("Book Treatment Mobile","https://cctcma.janeapp.com/")},children:m("nav.bookTreatment")})]})]})})]})]})}function pi(){const[e,n]=w.useState({isAuthenticated:!1,user:null,isLoading:!0});return w.useEffect(()=>{const s=localStorage.getItem("cctcma_admin_auth");if(s)try{const o=JSON.parse(s);o.expiry&&new Date().getTime()<o.expiry?o.user&&o.user.username?n({isAuthenticated:!0,user:o.user,isLoading:!1}):(localStorage.removeItem("cctcma_admin_auth"),n({isAuthenticated:!1,user:null,isLoading:!1})):(localStorage.removeItem("cctcma_admin_auth"),n({isAuthenticated:!1,user:null,isLoading:!1}))}catch{localStorage.removeItem("cctcma_admin_auth"),n({isAuthenticated:!1,user:null,isLoading:!1})}else n({isAuthenticated:!1,user:null,isLoading:!1})},[]),{...e,login:async(s,o)=>
67{if(console.log("useAdminAuth.login called with:",{username:s,password:o}),!s||!o)return console.log("Username or password is empty"),!1;try{const{apiService:c}=await Hl(async()=>{const{apiService:d}=await Promise.resolve().then(()=>Ip);return{apiService:d}},void 0),l=await c.login(s,o);if(l.success&&l.data){console.log("Login successful with backend API, token received");const d=l.data.access_token,p=await c.getCurrentUser(d);if(p.success&&p.data){console.log("User info retrieved successfully");const u={username:p.data.username,role:p.data.role,email:p.data.email,full_name:p.data.full_name},m={user:u,token:d,expiry:new Date().getTime()+l.data.expires_in*1e3};return console.log("Saving auth data to localStorage:",m),localStorage.setItem("cctcma_admin_auth",JSON.stringify(m)),n({isAuthenticated:!0,user:u,isLoading:!1}),console.log("Auth state updated, returning true"),!0}else return console.log("Failed to get user info:",p.error),!1}else return console.log("Login failed - backend returned error:",l.error),!1}catch(c){return console.error("Login API call failed:",c),!1}},logout:()=>{localStorage.removeItem("cctcma_admin_auth"),n({isAuthenticated:!1,user:null,isLoading:!1})},getToken:()=>{const s=localStorage.getItem("cctcma_admin_auth");if(s)try{return JSON.parse(s).token||null}catch{return null}return null}}}const _p=w.createContext(void 0);function dy({children:e}){const[n,a]=w.useState(!1),[i,r]=w.useState(null),{isAuthenticated:s}=pi(),o=l=>{if(l&&!s){console.warn("Cannot enable edit mode: User not logged in");return}a(l),l||r(null)};w.useEffect(()=>{!s&&n&&(a(!1),r(null))},[s,n]);const c=o;return t.jsx(_p.Provider,{value:{isEditMode:n,setEditMode:o,toggleEditMode:c,editingElement:i,setEditingElement:r,canEnableEditMode:s},children:e})}function rt(){const e=w.useContext(_p);if(e===void 0)throw new Error("useEditMode must be used within an EditModeProvider");return e}function ie(){const e=gt(),n=on(),{setEditMode:a,canEnableEditMode:i,isEditMode:r}=rt(),{isAuthenticated:s,isLoading:o}=pi();w.useEffect(()=>{if(o)return;const l=new URLSearchParams(e.search).get("edit");if(console.log("useAutoEditMode check:",{editParam:l,isAuthenticated:s,canEnableEditMode:i,isEditMode:r,pathname:e.pathname,isLoading:o}),l==="true"){if(i&&s){console.log("Auto-enabling edit mode from URL parameter"),a(!0);const d=document.createElement("div");d.className="fixed top-20 right-4 bg-cyan-500 text-white px-4 py-2 rounded shadow-lg z-50 max-w-sm",d.innerHTML=`
68          <div class="flex items-center space-x-2">
69            <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
70              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
71            </svg>
72            <div>
73              <div class="font-medium">Edit mode enabled!</div>
74              <div class="text-sm opacity-90">Click any text or image to edit</div>
75            </div>
76          </div>
77        `,document.body.appendChild(d),setTimeout(()=>{document.body.contains(d)&&document.body.removeChild(d)},5e3)}else if(!s){console.warn("Cannot enable edit mode: User not authenticated, redirecting to login");const d=document.createElement("div");d.className="fixed top-20 right-4 bg-yellow-500 text-white px-4 py-2 rounded shadow-lg z-50 max-w-sm",d.innerHTML=`
78          <div class="flex items-center space-x-2">
79            <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
80              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L4.082 16.5c-.77.833.192 2.5 1.732 2.5z"></path>
81            </svg>
82            <div>
83              <div class="font-medium">Login required</div>
84              <div class="text-sm opacity-90">Redirecting to admin login...</div>
85            </div>
86          </div>
87        `,document.body.appendChild(d),setTimeout(()=>{document.body.contains(d)&&document.body.removeChild(d)},3e3);const p=encodeURIComponent(window.location.pathname+window.location.search);n(`/admin/login?returnUrl=${p}`)}}},[e.search,a,i,s,o,n,r])}const hi="cctcma_local_db",uy=1,St={APPLICATIONS:"applications",CONTACTS:"contacts",FILES:"files",CONTENT:"website_content",VIDEOS:"videos"},my={applications:{keyPath:"id",autoIncrement:!0,indexes:[{name:"email",keyPath:"email",options:{unique:!1}},{name:"created_at",keyPath:"created_at",options:{unique:!1}},{name:"status",keyPath:"status",options:{unique:!1}}]},contacts:{keyPath:"id",autoIncrement:!0,indexes:[{name:"email",keyPath:"email",options:{unique:!1}},{name:"created_at",keyPath:"created_at",options:{unique:!1}},{name:"status",keyPath:"status",options:{unique:!1}}]},files:{keyPath:"id",autoIncrement:!0,indexes:[{name:"application_id",keyPath:"application_id",options:{unique:!1}},{name:"contact_id",keyPath:"contact_id",options:{unique:!1}},{name:"uploaded_at",keyPath:"uploaded_at",options:{unique:!1}},{name:"content_type",keyPath:"content_type",options:{unique:!1}}]}
87,website_content:{keyPath:"key",indexes:[{name:"section",keyPath:"section",options:{unique:!1}},{name:"type",keyPath:"type",options:{unique:!1}}]},videos:{keyPath:"id",autoIncrement:!1,indexes:[{name:"position",keyPath:"position",options:{unique:!1}},{name:"isActive",keyPath:"isActive",options:{unique:!1}},{name:"createdAt",keyPath:"createdAt",options:{unique:!1}}]}};async function ts(){return new Promise(e=>{const n=indexedDB.open(hi,uy);n.onupgradeneeded=a=>{const i=a.target.result;Object.entries(my).forEach(([r,s])=>{var o;if(!i.objectStoreNames.contains(r)){const c=s,l=i.createObjectStore(r,{keyPath:c.keyPath,autoIncrement:c.autoIncrement||!1});(o=c.indexes)==null||o.forEach(d=>{l.createIndex(d.name,d.keyPath,d.options)})}})},n.onsuccess=a=>{a.target.result.close(),e({success:!0})},n.onerror=a=>{var i;console.error("Database initialization error:",a.target.error),e({success:!1,error:((i=a.target.error)==null?void 0:i.message)||"Failed to initialize database"})}})}async function Wl(e,n){return new Promise(a=>{const i=indexedDB.open(hi);i.onsuccess=r=>{const s=r.target.result,l=s.transaction(e,"readwrite").objectStore(e).add(n);l.onsuccess=d=>{const p=d.target.result,u={...n,id:p};s.close(),console.log("✅ Item added successfully with ID:",p),a({success:!0,data:u})},l.onerror=d=>{var p;s.close(),console.error("❌ Error adding item:",d.target.error),a({success:!1,error:((p=d.target.error)==null?void 0:p.message)||"Failed to add item"})}},i.onerror=r=>{var s;console.error("❌ Database open error:",r.target.error),a({success:!1,error:((s=r.target.error)==null?void 0:s.message)||"Failed to open database"})}})}async function py(e,n){return new Promise(a=>{const i=indexedDB.open(hi);i.onsuccess=r=>{const s=r.target.result,l=s.transaction(e,"readwrite").objectStore(e).put(n);l.onsuccess=()=>{s.close(),a({success:!0,data:n})},l.onerror=d=>{var p;s.close(),console.error("Error updating item:",d.target.error),a({success:!1,error:((p=d.target.error)==null?void 0:p.message)||"Failed to update item"})}},i.onerror=r=>{var s;console.error("Database open error:",r.target.error),a({success:!1,error:((s=r.target.error)==null?void 0:s.message)||"Failed to open database"})}})}async function gi(e){return new Promise(n=>{const a=indexedDB.open(hi);a.onsuccess=i=>{const r=i.target.result,c=r.transaction(e,"readonly").objectStore(e).getAll();c.onsuccess=()=>{r.close(),n({success:!0,data:c.result})},c.onerror=l=>{var d;r.close(),console.error("Error getting all items:",l.target.error),n({success:!1,error:((d=l.target.error)==null?void 0:d.message)||"Failed to get all items"})}},a.onerror=i=>{var r;console.error("Database open error:",i.target.error),n({success:!1,error:((r=i.target.error)==null?void 0:r.message)||"Failed to open database"})}})}async function hy(e,n){return new Promise(a=>{const i=indexedDB.open(hi);i.onsuccess=r=>{const s=r.target.result,l=s.transaction(e,"readwrite").objectStore(e).delete(n);l.onsuccess=()=>{s.close(),a({success:!0})},l.onerror=d=>{var p;s.close(),console.error("Error deleting item:",d.target.error),a({success:!1,error:((p=d.target.error)==null?void 0:p.message)||"Failed to delete item"})}},i.onerror=r=>{var s;console.error("Database open error:",r.target.error),a({success:!1,error:((s=r.target.error)==null?void 0:s.message)||"Failed to open database"})}})}ts().then(e=>{e.success?console.log("Database initialized successfully"):console.error("Database initialization failed:",e.error)});async function gy(e){try{const n=await gi(St.CONTENT);if(n.success&&n.data&&n.data.length>0)return{success:!0};for(const a of e)await Wl(St.CONTENT,{...a,updated_at:new Date().toISOString()});return{success:!0}}catch(n){return console.error("Error initializing content:",n),{success:!1,error:"初始化内容失败"}}}async function $o(){try{const e=await gi(St.CONTENT);return e.success?{success:!0,content:e.data}:{success:!1,error:e.error||"获取内容失败"}}catch(e){return console.error("Error getting all content:",e),{success:!1,error:"获取内容时发生错误"}}}async function Mn(e,n){try{console.log("🔄 Updating content with key:",e,"value:",n);const a=await gi(St.CONTENT);if(!a.success||!a.data)return console.error("❌ Failed to get all content items"),{success:!1,error:a.error||"获取内容失败"};const i=a.data.find(o=>o.key===e);if(!i){console.log("📝 Content item not found, creating new one with key:",e);const o={id:e,type:"text",section:"custom",subsection:"custom",key:e,value:n,label:e,description:`Content for ${e}`,editable:!0,updated_at:new Date().toISOString()},c=await Wl(St.CONTENT,o);if(!c.success)return console.error("❌ Failed to create new content item:",c.error),{success:!1,error:c.error||"创建内容失败"};if(console.log("✅ Created new content item:",o),typeof window<"u"){const l=new CustomEvent("cctcma-content-refresh");window.dispatchEvent(l)}return{success:!0,content:o}}console.log("📝 Found existing content item, updating...",i);const r={...i,value:n,updated_at:new Date().toISOString()},s=await py(St.CONTENT,r);if(!s.success)return console.error("❌ Failed to update content:",s.error),{success:!1,error:s.error||"更新内容失败"};if(console.log("✅ Successfully updated content:",r),typeof window<"u"){const o=new CustomEvent("cctcma-content-refresh");window.dispatchEvent(o)}return{success:!0,content:r}}catch(a){return console.error("💥 Error updating content:",a),{success:!1,error:"更新内容时发生错误"}}}async function fy(){try{const e=await gi(St.CONTENT);return!e.success||!e.data?{success:!1,error:e.error||"导出内容失败"}:{success:!0,data:JSON.stringify(e.data,null,2)}}catch(e){return console.error("Error exporting content:",e),{success:!1,error:"导出内容时发生错误"}}}async function yy(e){try{const n=JSON.parse(e);if(!Array.isArray(n))return{success:!1,error:"无效的内容数据"};const a=await gi(St.CONTENT);if(a.success&&a.data)for(const i of a.data)await hy(St.CONTENT,i.key);for(const i of n)await Wl(St.CONTENT,{...i,updated_at:new Date().toISOString()});if(typeof window<"u"){const i=new CustomEvent("cctcma-content-refresh");window.dispatchEvent(i)}return{success:!0,count:n.length}}catch(n){return console.error("Error importing content:",n),{success:!1,error:"导入内容时发生错误"}}}const Cd="https://cctcma.com:8000";async function xy(e,n){try{console.log("📝 Submitting application to backend:",e);const a=await fetch(`${Cd}/api/applications`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!a.ok){const s=await a.text();return console.error("❌ Backend API error:",s),{success:!1,error:`Backend submission failed: ${s}`}}const i=await a.json();console.log("✅ Application submitted to backend:",i);const r=i.id;if(n&&n.length>0){console.log("📎 Uploading files to backend...");for(const s of n)try{const o=new FormData;o.append("file",s),o.append("application_id",r.toString());const c=await fetch(`${Cd}/upload`,{method:"POST",body:o});if(c.ok){const l=await c.json();console.log("✅ File uploaded:",l)}else console.warn("⚠️ File upload failed:",await c.text())}catch(o){console.warn("⚠️ File upload error:",o)}}return{success:!0,applicationId:r}}catch(a){return console.error("Error submitting application:",a),{success:!1,error:a instanceof Error?a.message:"提交申请时发生错误"}}}
87const by="https://cctcma.com:8000";async function Ep(e,n){try{console.log("📞 Submitting contact form to backend:",e);const a=await fetch(`${by}/contacts`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!a.ok){const s=await a.text();return console.error("❌ Backend API error:",s),{success:!1,error:`Backend submission failed: ${s}`}}const i=await a.json();console.log("✅ Contact form submitted to backend:",i);const r=i.id;return n&&n.length>0,{success:!0,contactId:r}}catch(a){return console.error("Error submitting contact form:",a),{success:!1,error:a instanceof Error?a.message:"提交表单时发生错误"}}}async function vy(e){try{const n=await ts();if(!n.success)return console.error("Failed to initialize database:",n.error),!1;const a=await gy(e);return a.success?!0:(console.error("Failed to initialize content:",a.error),!1)}catch(n){return console.error("Error initializing database with content:",n),!1}}const wy=[{id:"hero_slides",type:"slides",section:"homepage",subsection:"hero",key:"hero_slides",value:[{id:1,image:"/images/hero-slide1.jpg",translationKeys:{title:"home.hero.slide1.title",subtitle:"home.hero.slide1.subtitle",cta:"home.hero.slide1.cta"},ctaLink:"/about"},{id:2,image:"/images/hero-slide2.jpg",translationKeys:{title:"home.hero.slide2.title",subtitle:"home.hero.slide2.subtitle",cta:"home.hero.slide2.cta"},ctaLink:"/admission/apply"},{id:3,image:"/images/hero-slide3.jpg",translationKeys:{title:"home.hero.slide3.title",subtitle:"home.hero.slide3.subtitle",cta:"home.hero.slide3.cta"},ctaLink:"/programs"}],label:"Homepage Hero Slides",description:"Main carousel slides on homepage",editable:!0},{id:"hero_slide_1_title",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_1_title",value:"",label:"Hero Slide 1 Title",description:"Title text for hero slide 1",editable:!0,translationKey:"home.hero.slide1.title"},{id:"hero_slide_1_subtitle",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_1_subtitle",value:"",label:"Hero Slide 1 Subtitle",description:"Subtitle text for hero slide 1",editable:!0,translationKey:"home.hero.slide1.subtitle"},{id:"hero_slide_1_author",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_1_author",value:"",label:"Hero Slide 1 Author",description:"Author text for hero slide 1",editable:!0,translationKey:"home.hero.slide1.author"},{id:"hero_slide_1_cta",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_1_cta",value:"",label:"Hero Slide 1 CTA",description:"Call-to-action text for hero slide 1",editable:!0,translationKey:"home.hero.slide1.cta"},{id:"hero_slide_2_title",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_2_title",value:"",label:"Hero Slide 2 Title",description:"Title text for hero slide 2",editable:!0,translationKey:"home.hero.slide2.title"},{id:"hero_slide_2_subtitle",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_2_subtitle",value:"",label:"Hero Slide 2 Subtitle",description:"Subtitle text for hero slide 2",editable:!0,translationKey:"home.hero.slide2.subtitle"},{id:"hero_slide_2_cta",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_2_cta",value:"",label:"Hero Slide 2 CTA",description:"Call-to-action text for hero slide 2",editable:!0,translationKey:"home.hero.slide2.cta"},{id:"hero_slide_3_title",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_3_title",value:"",label:"Hero Slide 3 Title",description:"Title text for hero slide 3",editable:!0,translationKey:"home.hero.slide3.title"},{id:"hero_slide_3_subtitle",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_3_subtitle",value:"",label:"Hero Slide 3 Subtitle",description:"Subtitle text for hero slide 3",editable:!0,translationKey:"home.hero.slide3.subtitle"},{id:"hero_slide_3_cta",type:"text",section:"homepage",subsection:"hero",key:"hero_slide_3_cta",value:"",label:"Hero Slide 3 CTA",description:"Call-to-action text for hero slide 3",editable:!0,translationKey:"home.hero.slide3.cta"},{id:"hero_slide_1_image",type:"image",section:"homepage",subsection:"hero",key:"hero_slide_1_image",value:"/images/hero-slide1.jpg",label:"Hero Slide 1 Image",description:"Backgroun
87d image for hero slide 1",editable:!0},{id:"hero_slide_2_image",type:"image",section:"homepage",subsection:"hero",key:"hero_slide_2_image",value:"/images/hero-slide2.jpg",label:"Hero Slide 2 Image",description:"Background image for hero slide 2",editable:!0},{id:"hero_slide_3_image",type:"image",section:"homepage",subsection:"hero",key:"hero_slide_3_image",value:"/images/hero-slide3.jpg",label:"Hero Slide 3 Image",description:"Background image for hero slide 3",editable:!0},{id:"why_choose_features",type:"list",section:"homepage",subsection:"features",key:"why_choose_features",value:[{id:1,image:"/images/hands-on-learning.jpg",translationKeys:{title:"home.whyChoose.feature1.title",description:"home.whyChoose.feature1.description"}},{id:2,image:"/images/experienced-instructors.jpg",translationKeys:{title:"home.whyChoose.feature2.title",description:"home.whyChoose.feature2.description"}},{id:3,image:"/images/international-experience.jpg",translationKeys:{title:"home.whyChoose.feature3.title",description:"home.whyChoose.feature3.description"}}],label:"Why Choose Us Features",description:"Feature cards on homepage",editable:!0},{id:"mission_image",type:"image",section:"homepage",subsection:"mission",key:"mission_image",value:"/images/hero-slide2.jpg",label:"Mission Section Image",description:"Main image for mission section on homepage",editable:!0},{id:"mission_title",type:"text",section:"homepage",subsection:"mission",key:"mission_title",value:"",label:"Mission Title",description:"Title for mission section",editable:!0,translationKey:"home.mission.title"},{id:"mission_content",type:"rich_text",section:"homepage",subsection:"mission",key:"mission_content",value:"",label:"Mission Content",description:"Content text for mission section",editable:!0,translationKey:"home.mission.content"},{id:"clinic_hero_image",type:"image",section:"clinic",subsection:"hero",key:"clinic_hero_image",value:"/images/clinic-acupuncture.jpg",label:"Clinic Hero Image",description:"Background image for clinic page hero section",editable:!0},{id:"clinic_hero_title",type:"text",section:"clinic",subsection:"hero",key:"clinic_hero_title",value:"",label:"Clinic Hero Title",description:"Main title on clinic page",editable:!0,translationKey:"clinic.hero.title"},{id:"clinic_hero_subtitle",type:"rich_text",section:"clinic",subsection:"hero",key:"clinic_hero_subtitle",value:"",label:"Clinic Hero Subtitle",description:"Subtitle text on clinic page",editable:!0,translationKey:"clinic.hero.subtitle"},{id:"clinic_acupuncture_image",type:"image",section:"clinic",subsection:"services",key:"clinic_acupuncture_image",value:"/images/clinic-acupuncture.jpg",label:"Acupuncture Service Image",description:"Image for acupuncture service on clinic page",editable:!0},{id:"clinic_massage_image",type:"image",section:"clinic",subsection:"services",key:"clinic_massage_image",value:"/images/clinic-massage.jpg",label:"Massage Service Image",description:"Image for massage service on clinic page",editable:!0},{id:"clinic_tcm_image",type:"image",section:"clinic",subsection:"services",key:"clinic_tcm_image",value:"/images/clinic-tcm.jpg",label:"TCM Service Image",description:"Image for TCM service on clinic page",editable:!0},{id:"about_campus_image",type:"image",section:"about",subsection:"campus",key:"about_campus_image",value:"/images/hero-slide2.jpg",label:"Campus Image",description:"Main campus image on about page",editable:!0},{id:"about_hero_title",type:"text",section:"about",subsection:"hero",key:"about_hero_title",value:"",label:"About Hero Title",description:"Main title on about page hero section",editable:!0,translationKey:"about.hero.title"},{id:"about_hero_subtitle",type:"rich_text",section:"about",subsection:"hero",key:"about_hero_subtitle",value:"",label:"About Hero Subtitle",description:"Subtitle text on about page hero section",editable:!0,translationKey:"about.hero.subtitle"},{id:"about_campus_image",type:"image",section:"about",subsection:"campus",key:"about_campus_image",value:"/images/hero-slide2.jpg",label:"Campus Image",description:"Main campus image on about page",editable:!0},{id:"programs_hero_image",type:"image",section:"programs",subsection:"hero",key:"programs_hero_image",value:"/images/hero-slide3.jpg",label:"Programs Hero Image",description:"Backgroun
87d image for programs page hero section",editable:!0},{id:"programs_hero_title",type:"text",section:"programs",subsection:"hero",key:"programs_hero_title",value:"",label:"Programs Hero Title",description:"Main title on programs page",editable:!0,translationKey:"programs.hero.title"},{id:"programs_hero_subtitle",type:"rich_text",section:"programs",subsection:"hero",key:"programs_hero_subtitle",value:"",label:"Programs Hero Subtitle",description:"Subtitle text on programs page",editable:!0,translationKey:"programs.hero.subtitle"},{id:"programs_massage_image",type:"image",section:"programs",subsection:"massage",key:"programs_massage_image",value:"/images/massage.jpg",label:"Massage Program Image",description:"Main image for massage program",editable:!0},{id:"programs_acupuncture_image",type:"image",section:"programs",subsection:"acupuncture",key:"programs_acupuncture_image",value:"/images/acupuncture.jpg",label:"Acupuncture Program Image",description:"Main image for acupuncture program",editable:!0},{id:"programs_tcm_image",type:"image",section:"programs",subsection:"tcm",key:"programs_tcm_image",value:"/images/tcm.jpg",label:"TCM Program Image",description:"Main image for TCM program",editable:!0},{id:"programDetail_massage_image",type:"image",section:"programs",subsection:"massage-detail",key:"programDetail_massage_image",value:"/images/massage.jpg",label:"Massage Program Detail Image",description:"Main image for massage program detail page",editable:!0},{id:"programDetail_acupuncture_image",type:"image",section:"programs",subsection:"acupuncture-detail",key:"programDetail_acupuncture_image",value:"/images/acupuncture.jpg",label:"Acupuncture Program Detail Image",description:"Main image for acupuncture program detail page",editable:!0},{id:"programDetail_tcm_image",type:"image",section:"programs",subsection:"tcm-detail",key:"programDetail_tcm_image",value:"/images/tcm.jpg",label:"TCM Program Detail Image",description:"Main image for TCM program detail page",editable:!0},{id:"contact_hero_title",type:"text",section:"contact",subsection:"hero",key:"contact_hero_title",value:"",label:"Contact Hero Title",description:"Main title on contact page",editable:!0,translationKey:"contact.hero.title"},{id:"contact_hero_subtitle",type:"rich_text",section:"contact",subsection:"hero",key:"contact_hero_subtitle",value:"",label:"Contact Hero Subtitle",description:"Subtitle text on contact page",editable:!0,translationKey:"contact.hero.subtitle"},{id:"contact_office_image",type:"image",section:"contact",subsection:"office",key:"contact_office_image",value:"/images/hero-slide1.jpg",label:"Office Image",description:"Office image on contact page",editable:!0},{id:"about_section_overview_title",type:"text",section:"about",subsection:"overview",key:"about_section_overview_title",value:"",label:"About Overview Section Title",description:"Title for about page overview section",editable:!0},{id:"about_section_overview_content",type:"text",section:"about",subsection:"overview",key:"about_section_overview_content",value:"",label:"About Overview Section Content",description:"Content for about page overview section",editable:!0},{id:"about_section_president_title",type:"text",section:"about",subsection:"president",key:"about_section_president_title",value:"",label:"About President Section Title",description:"Title for about page president message section",editable:!0},{id:"about_section_president_content",type:"text",section:"about",subsection:"president",key:"about_section_president_content",value:"",label:"About President Section Content",description:"Content for about page president message section",editable:!0},{id:"about_section_faculty_title",type:"text",section:"about",subsection:"faculty",key:"about_section_faculty_title",value:"",label:"About Faculty Section Title",description:"Title for about page faculty section",editable:!0},{id:"about_section_faculty_content",type:"text",section:"about",subsection:"faculty",key:"about_section_faculty_content",value:"",label:"About Faculty Section Content",description:"Content for about page faculty section",editable:!0},{id:"about_section_why-choose-us_title",type:"text",section:"about",subsection:"why-choose-us",key:"about_section_why-choose-us_title",value:"",label:"About Why Choose Us Section Title",description:"Title for about page why choose us section",editable:!0},{id:"about_section_why-choose-us_content",type:"text",section:"about",subsection:"why-choose-us",key:"about_section_why-choose-us_content",value:"",label:"About Why Choose Us Section Content",description:"Content for about page why choose us section",editable:!0},{id:"about_cta_title",type:"text",section:"about",subsection:"cta",key:"about_cta_title",value:"",label:"About CTA Title",description:"Title for about page call-to-action section",editable:!0},{id:"about_cta_description",type:"text",section:"about",subsection:"cta",key:"about_cta_description",value:"",label:"About CTA Description",description:"Description for about page call-to-action section",editable:!0},{id:"admission_hero_title",type:"text",section:"admission",subsection:"hero",key:"admission_hero_title",value:"",label:"Admission Hero Title",description:"Title for admission page hero section",editable:!0},{id:"admission_hero_subtitle",type:"text",section:"admission",subsection:"hero",key:"admission_hero_subtitle",value:"",label:"Admission Hero Subtitle",description:"Subtitle for admission page hero section",editable:!0},{id:"exam_hero_title",type:"text",section:"exam",subsection:"hero",key:"exam_hero_title",value:"",label:"Exam Hero Title",description:"Title for exam page hero section",editable:!0},{id:"exam_hero_description",type:"text",section:"exam",subsection:"hero",key:"exam_hero_description",value:"",label:"Exam Hero Description",description:"Description for exam page hero section",editable:!0},{id:"programs_acupuncture_title",type:"text",section:"programs",subsection:"acupuncture",key:"programs_acupuncture_title",value:"",label:"Acupuncture Program Title",description:"Title for acupuncture program",editable:!0},{id:"programs_acupuncture_duration",type:"text",section:"programs",subsection:"acupuncture",key:"programs_acupuncture_duration",value:"",label:"Acupuncture Program Duration",description:"Duration for acupuncture program",editable:!0},{id:"programs_acupuncture_description",type:"text",section:"programs",subsection:"acupuncture",key:"programs_acupuncture_description",value:"",label:"Acupuncture Program Description",description:"Description for acupuncture program",editable:!0},{id:"programs_tcm_title",type:"text",section:"programs",subsection:"tcm",key:"programs_tcm_title",value:"",label:"TCM Program Title",description:"Title for TCM program",editable:!0},{id:"programs_tcm_duration",type:"text",section:"programs",subsection:"tcm",key:"programs_tcm_duration",value:"",label:"TCM Program Duration",description:"Duration for TCM program",editable:!0},{id:"programs_tcm_description",type:"text",section:"programs",subsection:"tcm",key:"programs_tcm_description",value:"",label:"TCM Program Description",description:"Description for TCM program",editable:!0},{id:"programs_massage_title",type:"text",section:"programs",subsection:"massage",key:"programs_massage_title",value:"",label:"Massage Program Title",description:"Title for massage therapy program",editable:!0},{id:"programs_massage_duration",type:"text",section:"programs",subsection:"massage",key:"programs_massage_duration",value:"",label:"Massage Program Duration",description:"Duration for massage therapy program",editable:!0},{id:"programs_massage_description",type:"text",section:"programs",subsection:"massage",key:"programs_massage_description",value:"",label:"Massage Program Description",description:"Description for massage therapy program",editable:!0},{id:"clinic_services_title",type:"text",section:"clinic",subsection:"services",key:"clinic_services_title",value:"",label:"Clinic Services Title",description:"Title for clinic services section",editable:!0},{id:"faculty_initialized",type:"text",section:"about",subsection:"faculty",key:"faculty_initialized",value:"false",label:"Faculty Data Initialized",description:"Flag to track if faculty data has been initialized",editable:!1}];function ns(){const[e,n]=w.useState([]),[a,i]=w.useState(!0),[r,s]=w.useState([]),[o,c]=w.useState(!1),[l,d]=w.useState(!1),[p,u]=w.useState(!1),m=async()=>{try{i(!0);const A=await $o();if(A.success&&A.content)console.log("useContentManager: Loaded content from database:",A.content.length,"items"),n(A.content);else if(console.error("Error loading content:",A.error),!l){if(console.log("Initializing database with default content"),await vy(wy)){const H=await $o();H.success&&H.content&&n(H.content)}d(!0)}}catch(A){console.error("Error loading content:",A)}finally{i(!1)}};w.useEffect(()=>{m();const A=()=>{m()};return window.addEventListener("cctcma-content-refresh",A),()=>{window.removeEventListener("cctcma-content-refresh",A)}},[]);const h=async(A,D)=>{try{console.log("🔄 useContentManager: Updating content key:",A,"with value:",D),u(!0);const H=await Mn(A,D);if(!H.success)return console.error("❌ Failed to save content to database:",H.error),u(!1),!1;console.log("✅ Successfully saved content to database");const O=e.findIndex(B=>B.key===A);if(O!==-1){const B={...e[O],value:D,updated_at:new Date().toISOString()},L=[...e];L[O]=B,n(L)}else{let B="text";
87typeof D=="string"&&D.startsWith("data:image/")?B="image":Array.isArray(D)&&(B="list");const L={id:A,type:B,section:"custom",subsection:"custom",key:A,value:D,label:A,description:`Content for ${A}`,editable:!0,updated_at:new Date().toISOString()};n([...e,L])}s(B=>B.filter(L=>L.key!==A));const Q=r.filter(B=>B.key!==A);return c(Q.length>0),u(!1),!0}catch(H){return console.error("💥 Error updating content:",H),u(!1),!1}};return{content:e,isLoading:a,isSaving:p,hasUnsavedChanges:o,saveChanges:async()=>{i(!0),u(!0);try{for(const A of r)await Mn(A.key,A.value);return s([]),c(!1),await m(),!0}catch(A){return console.error("Error saving changes:",A),!1}finally{i(!1),u(!1)}},discardChanges:()=>{s([]),c(!1),m()},updateContent:h,updateSlideImage:async(A,D,H)=>{try{const O=e.find(_=>_.key===A);if(!O||!Array.isArray(O.value))return null;const Q=await new Promise((_,R)=>{const M=new FileReader;M.onload=()=>_(M.result),M.onerror=R,M.readAsDataURL(H)}),B=O.value.map(_=>_.id===D?{..._,image:Q}:_);return(await Mn(A,B)).success?(n(_=>_.map(R=>R.key===A?{...R,value:B}:R)),Q):null}catch(O){return console.error("Error updating slide image:",O),null}},updateFeatureImage:async(A,D,H)=>{try{const O=e.find(_=>_.key===A);if(!O||!Array.isArray(O.value))return null;const Q=await new Promise((_,R)=>{const M=new FileReader;M.onload=()=>_(M.result),M.onerror=R,M.readAsDataURL(H)}),B=O.value.map(_=>_.id===D?{..._,image:Q}:_);return(await Mn(A,B)).success?(n(_=>_.map(R=>R.key===A?{...R,value:B}:R)),Q):null}catch(O){return console.error("Error updating feature image:",O),null}},addSlide:async A=>{try{const D=e.find(_=>_.key===A);if(!D||!Array.isArray(D.value))return!1;const O=Math.max(...D.value.map(_=>_.id),0)+1,Q={id:O,image:"/images/placeholder.jpg",translationKeys:{title:`home.hero.slide${O}.title`,subtitle:`home.hero.slide${O}.subtitle`,cta:`home.hero.slide${O}.cta`},ctaLink:"/"},B=[...D.value,Q];return(await Mn(A,B)).success?(n(_=>_.map(R=>R.key===A?{...R,value:B}:R)),!0):!1}catch(D){return console.error("Error adding slide:",D),!1}},deleteSlide:async(A,D)=>{try{const H=e.find(B=>B.key===A);if(!H||!Array.isArray(H.value))return!1;const O=H.value.filter(B=>B.id!==D);return(await Mn(A,O)).success?(n(B=>B.map(L=>L.key===A?{...L,value:O}:L)),!0):!1}catch(H){return console.error("Error deleting slide:",H),!1}},uploadImage:async(A,D)=>{try{console.log("🖼️ uploadImage: Starting upload for key:",D);const H=await new Promise((Q,B)=>{const L=new FileReader;L.onload=()=>Q(L.result),L.onerror=B,L.readAsDataURL(A)});return console.log("📁 uploadImage: File read as data URL, size:",H.length),await h(D,H)?(console.log("✅ uploadImage: Successfully uploaded and saved to CMS"),H):(console.error("❌ uploadImage: Failed to save to CMS"),null)}catch(H){return console.error("💥 uploadImage: Error uploading image:",H),null}},getContentByKey:A=>e.find(D=>D.key===A),getContentBySection:A=>e.filter(D=>D.section===A),exportContent:async()=>{try{const A=await fy();return A.success&&A.data?A.data:null}catch(A){return console.error("Error exporting content:",A),null}},importContent:async A=>{try{return(await yy(A)).success?(m(),!0):!1}catch(D){return console.error("Error importing content:",D),!1}}}}function g({contentKey:e,translationKey:n,defaultValue:a,className:i="",placeholder:r="Click to edit...",multiline:s=!1,children:o,isAlwaysEditable:c=!1,passThroughClicks:l=!1}){const{getContentByKey:d,updateContent:p,isSaving:u}=ns(),{t:m}=V(),{isEditMode:h,setEditingElement:x}=rt(),[v,C]=w.useState(!1),[f,b]=w.useState(""),[y,N]=w.useState(!1),S=w.useRef(null),k=d(e),T=R=>typeof R=="string"?R:typeof R=="number"?R.toString():we.isValidElement(R)?T(R.props.children):Array.isArray(R)?R.map(T).join(""):"",I=o?T(o):"",A=n?m(n):"",D=A&&A!==n,H=(k==null?void 0:k.value)||(D?A:"")||I||a||"",O=c||h;w.useEffect(()=>{v&&S.current&&(S.current.focus(),S.current.select())},[v]),w.useEffect(()=>{if(!v)return;const R=M=>{S.current&&!S.current.contains(M.target)&&(M.target.closest(".edit-buttons")||B())};return document.addEventListener("mousedown",R),()=>{document.removeEventListener("mousedown",R)}},[v,p,e,x]);const Q=R=>{l||O&&!v&&(C(!0),b(H),x(e))},B=async()=>{f.trim()!==H&&await p(e,f.trim()),C(!1),x(null)},L=()=>{b(H),C(!1),x(null)},_=R=>{R.key==="Enter"&&!s?(R.preventDefault(),B()):R.key==="Escape"?L():R.key==="Enter"&&R.ctrlKey&&s&&(R.preventDefault(),B())};if(v){const R=s?"textarea":"input";return t.jsxs("div",{className:"relative",children:[t.jsx(R,{ref:S,value:f,onChange:M=>b(M.target.value),onKeyDown:_,className:`${i} border-2 border-primary-500 bg-white text-gray-900 rounded px-2 py-1 
87w-full focus:outline-none focus:border-primary-600 shadow-lg`,placeholder:r,rows:s?3:void 0,disabled:u,style:{color:"#1f2937"}}),t.jsxs("div",{className:"edit-buttons absolute -top-10 right-0 bg-white border border-gray-200 rounded-lg shadow-xl flex items-center space-x-1 px-3 py-2 z-10",children:[t.jsx("span",{className:"text-xs text-gray-600",children:"Editing"}),t.jsxs("button",{onClick:B,disabled:u||f.trim()===H,className:"ml-2 px-3 py-1 bg-cyan-100 hover:bg-cyan-200 text-cyan-700 rounded-full disabled:opacity-50 disabled:cursor-not-allowed text-xs font-medium flex items-center",title:"Save (Enter)",children:[t.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}),"Save"]}),t.jsxs("button",{onClick:L,className:"px-3 py-1 bg-red-100 hover:bg-red-200 text-red-700 rounded-full text-xs font-medium flex items-center",title:"Cancel (Esc)",children:[t.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),"Cancel"]})]})]})}return o?t.jsxs("div",{onClick:Q,onMouseEnter:()=>N(!0),onMouseLeave:()=>N(!1),className:`${O&&!l?"cursor-pointer hover:bg-primary-50 hover:bg-opacity-50 hover:border hover:border-primary-300 rounded p-1 transition-all relative group":""} ${i} ${O&&y&&!l?"edit-highlight":""} ${l?"pointer-events-none":""}`,title:O&&!l?"Click to edit":"",children:[t.jsx("div",{className:l?"pointer-events-auto":"",children:we.Children.map(o,R=>we.isValidElement(R)?we.cloneElement(R,{...R.props,children:H||R.props.children}):R)}),O&&t.jsx("div",{className:"absolute top-0 right-0 opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none",children:t.jsxs("div",{className:"bg-primary-500 text-white text-xs px-2 py-0.5 rounded-bl rounded-tr shadow-md flex items-center",children:[t.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})}),"Edit"]})})]}):t.jsxs("span",{onClick:Q,onMouseEnter:()=>N(!0),onMouseLeave:()=>N(!1),className:`${O?"cursor-pointer hover:bg-primary-50 hover:bg-opacity-50 hover:border hover:border-primary-300 rounded px-1 transition-all relative group":""} ${i} ${O&&y?"edit-highlight":""}`,title:O?"Click to edit":"",children:[H||r,O&&t.jsx("span",{className:"ml-1 opacity-0 group-hover:opacity-100 transition-opacity text-primary-500 text-xs pointer-events-none",children:t.jsx("svg",{className:"inline-block w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})})})]})}function Cy({className:e="",height:n="400px"}){return t.jsx("div",{className:`relative rounded-lg overflow-hidden shadow-md ${e}`,style:{height:n},children:t.jsx("iframe",{src:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2509.234!2d-114.062795!3d51.017763!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x5371706a0ae5f41d%3A0xe22b5cd972eba641!2sCalgary%20College%20of%20Traditional%20Chinese%20Medicine%20and%20Acupuncture!5e0!3m2!1sen!2sca!4v1699999999999!5m2!1sen!2sca",width:"100%",height:"100%",style:{border:0},allowFullScreen:!0,loading:"lazy",referrerPolicy:"no-referrer-when-downgrade",title:"Calgary College of Traditional Chinese Medicine and Acupuncture Location",className:"rounded-lg"})})}const cn=(e,n,a)=>{typeof window<"u"&&window.gtag&&window.gtag("event","footer_link_click",{event_category:"user_engagement",event_label:`${e}: ${n}`,destination:a,page_location:window.location.href})},jy=(e,n)=>{typeof window<"u"&&window.gtag&&window.gtag("event","social_media_click",{event_category:"user_engagement",event_label:e,destination:n,page_location:window.location.href})},Ny=[{key:"home",name:"nav.home",path:"/"},{key:"about",name:"nav.about",path:"/about"},{key:"programs",name:"nav.programs",path:"/programs"}
87,{key:"admission",name:"nav.admission",path:"/admission"},{key:"clinic",name:"nav.clinic",path:"/clinic"},{key:"exam",name:"nav.exam",path:"/exam"},{key:"contact",name:"nav.contact",path:"/contact"}],Sy=[{key:"massage",name:"nav.programs.massage",path:"/programs/massage"},{key:"acupuncture",name:"nav.programs.acupuncture",path:"/programs/acupuncture"},{key:"tcm",name:"nav.programs.tcm",path:"/programs/tcm"}],Ty=[{key:"requirements",name:"nav.admission.requirements",path:"/admission"},{key:"apply",name:"nav.admission.apply",path:"/admission/apply"},{key:"tuition",name:"nav.admission.tuition",path:"/admission/fees"}],ky=[{key:"services",name:"nav.clinic.services",path:"/clinic"},{key:"book",name:"nav.clinic.book",path:"https://cctcma.janeapp.com/",external:!0},{key:"practitioners",name:"nav.clinic.practitioners",path:"/clinic/practitioners"}],My=[{key:"aaatcmd",name:"AAATCMD",url:"https://aaatcmd.ca/"},{key:"caa",name:"CAA",url:"https://acupuncturealberta.ca/"},{key:"studentaid",name:"Alberta Student Aid",url:"https://studentaid.alberta.ca/"},{key:"nhpc",name:"NHPC",url:"https://www.nhpcanada.org/how-to-apply
87/recognized-programs"},{key:"internship",name:"Acupuncture Internship",url:"https://www.acupunctureinternship.ca/"},{key:"maple",name:"Maple Acupuncture & Massage",url:"https://www.mapleacupunctureandmassage.com/"}],Ay=[{name:"Facebook",url:"https://m.facebook.com/cctcma/",icon:t.jsx("svg",{className:"w-6 h-6",fill:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{d:"M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"})})},{name:"Instagram",url:"https://www.instagram.com/cctcma/",icon:t.jsx("svg",{className:"w-6 h-6",fill:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{d:"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"})})},{name:"Email",url:"mailto:[email protected]",icon:t.jsx("svg",{className:"w-6 h-6",fill:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{d:"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"})})}];function Py(){const{t:e}=V();ie();const[n,a]=w.useState({firstName:"",lastName:"",email:"",phone:"",message:"",website:""}),[i,r]=w.useState(!1),[s,o]=w.useState(null),c=async l=>{if(l.preventDefault(),n.website)return;r(!0),o(null),(await Ep({name:`${n.firstName.trim()} ${n.lastName.trim()}`.trim(),email:n.email.trim(),phone:n.phone.trim()||void 0,subject:e("page.contact.form.messages.generalInquiry"),message:n.message.trim()})).success?(a({firstName:"",lastName:"",email:"",phone:"",message:"",website:""}),o({type:"success",message:e("contact.form.success")})):o({type:"error",message:e("contact.form.error")}),r(!1)};return t.jsxs("footer",{className:"bg-gradient-to-br from-neutral-50 via-white to-primary-50 text-neutral-700 relative overflow-hidden border-t border-neutral-200",children:[t.jsxs("div",{className:"absolute inset-0 opacity-10",children:[t.jsx("div",{className:"absolute top-16 left-16 w-32 h-32 border-4 border-primary-300 rounded-full animate-float"}),t.jsx("div",{className:"absolute bottom-20 right-20 w-24 h-24 border-2 border-secondary-300 rounded-full animate-float",style:{animationDelay:"1s"}}),t.jsx("div",{className:"absolute top-1/2 left-1/3 w-16 h-16 bg-accent-200 rounded-full animate-bounce-gentle",style:{animationDelay:"2s"}})]}),t.jsx("div",{className:"absolute inset-x-0 top-0 h-1 bg-gradient-to-r from-primary-400 via-secondary-400 to-accent-400"}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 relative z-10",children:[t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 lg:gap-12",children:[t.jsxs("div",{className:"space-y-6",children:[t.jsx("h3",{className:"text-lg font-bold text-primary-800 mb-4 border-b-2 border-primary-200 pb-2",children:e("footer.quickLinks.title")}),t.jsx("ul",{className:"space-y-2",children:Ny.map(l=>t.jsx("li",{children:t.jsx($,{to:l.path,onClick:()=>cn("navigation",e(l.name),l.path),className:"text-neutral-600 hover:text-primary-700 transition-all text-sm font-medium hover:translate-x-1 transform duration-200 block py-1 hover:font-semibold",children:e(l.name)}
87)},l.key))})]}),t.jsxs("div",{className:"space-y-6",children:[t.jsx("h3",{className:"text-lg font-bold text-secondary-800 mb-4 border-b-2 border-secondary-200 pb-2",children:e("footer.programs.title")}),t.jsx("ul",{className:"space-y-2",children:Sy.map(l=>t.jsx("li",{children:t.jsx($,{to:l.path,onClick:()=>cn("program",e(l.name),l.path),className:"text-neutral-600 hover:text-secondary-700 transition-all text-sm font-medium hover:translate-x-1 transform duration-200 block py-1 hover:font-semibold",children:e(l.name)})},l.key))}),t.jsxs("div",{className:"pt-4",children:[t.jsx("h4",{className:"text-md font-bold text-secondary-800 mb-3 border-b border-secondary-100 pb-1",children:e("footer.admission.title")}),t.jsx("ul",{className:"space-y-2",children:Ty.map(l=>t.jsx("li",{children:t.jsx($,{to:l.path,onClick:()=>cn("admission",e(l.name),l.path),className:"text-neutral-600 hover:text-secondary-700 transition-all text-sm font-medium hover:translate-x-1 transform duration-200 block py-1 hover:font-semibold",children:e(l.name)})},l.key))})]})]}),t.jsxs("div",{className:"space-y-6",children:[t.jsx("h3",{className:"text-lg font-bold text-accent-800 mb-4 border-b-2 border-accent-200 pb-2",children:e("footer.clinic.title")}),t.jsx("ul",{className:"space-y-2",children:ky.map(l=>t.jsx("li",{children:l.external?t.jsxs("a",{href:l.path,target:"_blank",rel:"noopener noreferrer",onClick:()=>cn("clinic",e(l.name),l.path),className:"text-neutral-600 hover:text-accent-700 transition-all text-sm font-medium hover:translate-x-1 transform duration-200 block py-1 hover:font-semibold inline-flex items-center",children:[e(l.name),t.jsx("svg",{className:"w-3 h-3 ml-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]}):t.jsx($,{to:l.path,onClick:()=>cn("clinic",e(l.name),l.path),className:"text-neutral-600 hover:text-accent-700 transition-all text-sm font-medium hover:translate-x-1 transform duration-200 block py-1 hover:font-semibold",children:e(l.name)})},l.key))})]}),t.jsxs("div",{className:"space-y-6",children:[t.jsx("h3",{className:"text-lg font-bold text-primary-800 mb-4 border-b-2 border-primary-200 pb-2",children:e("footer.professionalOrgs.title")}),t.jsx("ul",{className:"space-y-2",children:My.map(l=>t.jsx("li",{children:t.jsxs("a",{href:l.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>cn("external",l.name,l.url),className:"text-neutral-600 hover:text-primary-700 transition-all text-sm font-medium hover:translate-x-1 transform duration-200 block py-1 hover:font-semibold inline-flex items-center",children:[l.name,t.jsx("svg",{className:"w-3 h-3 ml-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"})})]})},l.key))})]})]}),t.jsxs("div",{className:"mt-20 pt-12 border-t-2 border-gradient-to-r from-primary-200 via-secondary-200 to-accent-200",children:[t.jsxs("div",{className:"text-center mb-16",children:[t.jsxs("div",{className:"inline-flex items-center bg-gradient-to-r from-golden-400/30 to-coral-400/30 text-primary-700 px-4 py-2 rounded-full text-sm font-medium mb-6 backdrop-blur-sm animate-pulse-glow hover:scale-105 transition-transform duration-300 group cursor-pointer relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent translate-x-[-200%] group-hover:translate-x-[200%] transition-transform duration-1000 ease-in-out"}),t.jsx("svg",{className:"w-4 h-4 mr-2 group-hover:text-golden-600 transition-all duration-300 transform group-hover:rotate-12 relative z-10",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M18 10c0 3.866-3.582 7-8 7a8.841 8.841 0 01-4.083-.98L2 17l1.338-3.123C2.493 12.767 2 11.434 2 10c0-3.866 3.582-7 8-7s8 3.134 8 7zM7 9H5v2h2V9zm8 0h-2v2h2V9zM9 9h2v2H9V9z",clipRule:"evenodd"})}),t.jsx(g,{contentKey:"contact_section_label",translationKey:"home.contact.sectionLabel",className:"relative z-10",children:t.jsx("span",{className:"relative z-10",children:e("common.contact.sectionLabel")})}),t.jsx("svg",{className:"w-3 h-3 ml-2 opacity-0 group-hover:opacity-100 transition-all duration-300 transform group-hover:scale-110 group-hover:rotate-45 relative z-10",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 7l5 5m0 0l-5 5m5-5H6"})})]}),t.jsx(g,{contentKey:"contact_section_title",translationKey:"home.contact.title",className:"text-4xl lg:text-5xl font-bold mb-6 text-primary-700 drop-shadow-lg",children:t.jsx("h2",{className:"text-4xl lg:text-5xl font-bold mb-6 text-primary-700 drop-shadow-lg",children:e("home.contact.title")})}),t.jsx(g,{contentKey:"contact_section_subtitle",translationKey:"common.contact.subtitle",className:"text-xl text-neutral-600 max-w-3xl mx-auto drop-shadow-md",multiline:!0,children:t.jsx("p",{className:"text-xl text-neutral-600 max-w-3xl mx-auto drop-shadow-md",children:e("common.contact.subtitle")})})]}),t.jsxs("div",{className:"grid lg:grid-cols-3 gap-12",children:[t.jsxs("div",{className:"lg:col-span-1 bg-gradient-to-br from-white/80 to-primary-50/70 backdrop-blur-sm rounded-2xl p-8 border border-neutral-200 shadow-lg",children:[t.jsx(g,{contentKey:"contact_form_title",translationKey:"home.contact.form.title",className:"text-2xl font-bold mb-6 text-primary-700",children:t.jsx("h3",{className:"text-2xl font-bold mb-6 text-primary-700",children:e("common.form.sendUsMessage")})}),t.jsxs("form",{onSubmit:c,className:"space-y-6",children:[t.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_first_name",translationKey:"home.contact.form.firstName",className:"block text-sm font-medium text-neutral-700 mb-2",children:t.jsx("label",{className:"block text-sm font-medium text-neutral-700 mb-2",children:e("common.form.firstNameLabel")})}),t.jsx("input",{type:"text",name:"firstName",value:n.firstName,onChange:l=>a(d=>({...d,firstName:l.target.value})),placeholder:e("common.placeholders.firstName"),autoComplete:"given-name",required:!0,className:"w-full px-4 py-3 bg-white border border-neutral-300 rounded-lg text-neutral-700 placeholder-neutral-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all duration-300"})]}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_last_name",translationKey:"home.contact.form.lastName",className:"block text-sm font-medium text-neutral-700 mb-2",children:t.jsx("label",{className:"block text-sm font-medium text-neutral-700 mb-2",children:e("common.form.lastNameLabel")})}),t.jsx("input",{type:"text",name:"lastName",value:n.lastName,onChange:l=>a(d=>({...d,lastName:l.target.value})),placeholder:e("common.placeholders.lastName"),autoComplete:"family-name",required:!0,className:"w-full px-4 py-3 bg-white border border-neutral-300 rounded-lg text-neutral-700 placeholder-neutral-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all duration-300"})]})]}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_email",translationKey:"home.contact.form.email",className:"block text-sm font-medium text-neutral-700 mb-2",children:t.jsx("label",{className:"block text-sm font-medium text-neutral-700 mb-2",children:e("common.form.emailAddressLabel")})}),t.jsx("input",{type:"email",name:"email",value:n.email,onChange:l=>a(d=>({...d,email:l.target.value})),placeholder:e("common.placeholders.email"),autoComplete:"email",required:!0,className:"w-full px-4 py-3 bg-white border border-neutral-300 rounded-lg text-neutral-700 placeholder-neutral-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all duration-300"})]}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_phone",translationKey:"page.home.contact.form.phoneLabel",className:"block text-sm font-medium text-neutral-700 mb-2",children:t.jsx("label",{className:"block text-sm font-medium text-neutral-700 mb-2",children:e("page.home.contact.form.phoneLabel")})}),t.jsx("input",{type:"tel",name:"phone",value:n.phone,onChange:l=>a(d=>({...d,phone:l.target.value})),placeholder:e("page.home.contact.form.phonePlaceholder"),autoComplete:"tel",className:"w-full px-4 py-3 bg-white border border-neutral-300 rounded-lg text-neutral-700 placeholder-neutral-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all duration-300"})]}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_message",translationKey:"page.home.contact.form.messageLabel",className:"block text-sm font-medium text-neutral-700 mb-2",children:t.jsx("label",{className:"block text-sm font-medium text-neutral-700 mb-2",children:e("page.home.contact.form.messageLabel")})}),t.jsx("textarea",{rows:4,name:"message",value:n.message,onChange:l=>a(d=>({...d,message:l.target.value})),placeholder:e("page.home.contact.form.messagePlaceholder"),minLength:10,maxLength:5e3,required:!0,className:"w-full px-4 py-3 bg-white border border-neutral-300 rounded-lg text-neutral-700 placeholder-neutral-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all duration-300 resize-none"})]}),t.jsx("input",{type:"text",name:"website",value:n.website,onChange:l=>a(d=>({...d,website:l.target.value})),className:"absolute -left-[9999px]",tabIndex:-1,autoComplete:"off","aria-hidden":"true"}),t.jsxs("button",{type:"submit",disabled:i,className:"w-full bg-primary-600 hover:bg-primary-700 text-white py-4 px-6 rounded-lg font-semibold transition-all duration-300 hover:shadow-lg transform hover:scale-105 disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:scale-100",children:[t.jsx(g,{contentKey:"contact_form_submit",translationKey:"home.contact.form.submit",className:"",children:t.jsx("span",{children:e(i?"contact.form.sending":"common.form.sendMessageButton")})}),t.jsx("svg",{className:"w-5 h-5 ml-2 inline",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 19l9 2-9-18-9 18 9-2zm0 0v-8"})})]}),s&&t.jsx("p",{role:s.type==="error"?"alert":"status","aria-live":"polite",className:`text-sm font-medium ${s.type==="success"?"text-green-700":"text-red-700"}`,children:s.message})]})]}),t.jsxs("div",{className:"lg:col-span-2 grid md:grid-cols-2 gap-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-white/80 to-secondary-50/70 backdrop-blur-sm rounded-2xl p-8 border border-neutral-200 shadow-lg",children:[t.jsxs("div",{className:"flex items-center mb-6",children:[t.jsx("div",{className:"w-12 h-12 bg-secondary-600 rounded-xl flex items-center justify-center mr-4",children:t.jsxs("svg",{className:"w-6 h-6 text-white",f
87ill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]})}),t.jsx("h3",{className:"text-2xl font-bold text-secondary-800",children:e("home.contact.findUs.title")})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-start",children:[t.jsx("svg",{className:"w-5 h-5 text-secondary-600 mr-3 mt-1 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z",clipRule:"evenodd"})}),t.jsx("p",{className:"text-neutral-600 leading-relaxed",children:e("home.contact.findUs.address")})]}),t.jsxs("div",{className:"flex items-center",children:[t.jsx("svg",{className:"w-5 h-5 text-secondary-600 mr-3 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{d:"M2 3a1 1 0 011-1h2.153a1 1 0 01.948.684l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z"})}),t.jsx("a",{href:`tel:${e("common.contact.phoneNumber")}`,className:"text-neutral-600 hover:text-secondary-700 transition-colors",children:e("common.contact.phoneNumber")})]}),t.jsxs("div",{className:"flex items-center",children:[t.jsxs("svg",{className:"w-5 h-5 text-secondary-600 mr-3 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:[t.jsx("path",{d:"M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z"}),t.jsx("path",{d:"M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z"})]}),t.jsx("a",{href:`mailto:${e("common.contact.emailAddress")}`,className:"text-neutral-600 hover:text-secondary-700 transition-colors",children:e("common.contact.emailAddress")})]})]}),t.jsx("div",{className:"mt-6",children:t.jsx(Cy,{address:e("home.contact.findUs.address"),className:"w-full rounded-lg",height:"300px"})})]}),t.jsxs("div",{className:"bg-gradient-to-br from-white/80 to-accent-50/70 backdrop-blur-sm rounded-2xl p-8 border border-neutral-200 shadow-lg",children:[t.jsxs("div",{className:"flex items-center mb-6",children:[t.jsx("div",{className:"w-12 h-12 bg-accent-600 rounded-xl flex items-center justify-center mr-4",children:t.jsx("svg",{className:"w-6 h-6 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})})}),t.jsx("h3",{className:"text-2xl font-bold text-accent-800",children:e("footer.businessHours.title")})]}),t.jsxs("div",{className:"space-y-2 text-sm text-neutral-700",children:[t.jsxs("div",{className:"grid grid-cols-3 gap-2 py-2 border-b-2 border-accent-200 font-bold text-accent-800",children:[t.jsx("span",{children:e("footer.businessHours.day")}),t.jsx("span",{className:"text-center",children:e("footer.businessHours.schoolHours")}),t.jsx("span",{className:"text-center",children:e("footer.businessHours.clinicHours")})]}),[{day:"monday",dayText:e("footer.businessHours.monday"),hours:[e("footer.businessHours.weekdaySchool"),e("footer.businessHours.mondayClinic")]},{day:"tuesday",dayText:e("footer.businessHours.tuesday"),hours:[e("footer.businessHours.weekdaySchool"),e("footer.businessHours.tuesdayClinic")]},{day:"wednesday",dayText:e("footer.businessHours.wednesday"),hours:[e("footer.businessHours.weekdaySchool"),e("footer.businessHours.wednesdayClinic")]},{day:"thursday",dayText:e("footer.businessHours.thursday"),hours:[e("footer.businessHours.weekdaySchool"),e("footer.businessHours.thursdayClinic")]},{day:"friday",dayText:e("footer.businessHours.friday"),hours:[e("footer.businessHours.weekdaySchool"),e("footer.businessHours.fridayClinic")]}].map((l,d)=>t.jsxs("div",{className:`grid grid-cols-3 gap-2 py-2 border-b border-neutral-200 ${d%2===0?"bg-neutral-50":"bg-white"}`,children:[t.jsx("span",{className:"font-medium",children:l.dayText}),t.jsx("span",{className:"text-center font-semibold",children:l.hours[0]}),t.jsx("span",{className:"text-center font-semibold",children:l.hours[1]})]},l.day)),t.jsxs("div",{className:"grid grid-cols-3 gap-2 py-2 border-b border-neutral-200 bg-neutral-50",children:[t.jsx("span",{className:"font-medium",children:e("footer.businessHours.saturday")}),t.jsx("span",{className:"text-center text-neutral-500 font-semibold col-span-2",children:e("footer.businessHours.saturdayHours")})]}),t.jsxs("div",{className:"grid grid-cols-3 gap-2 py-2 bg-white",children:[t.jsx("span",{className:"font-medium",children:e("footer.businessHours.sunday")}),t.jsx("span",{className:"text-center text-neutral-500 font-semibold col-span-2",children:e("footer.businessHours.sundayHours")})]})]})]})]}),t.jsx("div",{className:"lg:col-span-3 mt-8",children:t.jsxs("div",{className:"bg-gradient-to-br from-white/80 to-primary-50/70 backdrop-blur-sm rounded-2xl p-8 border border-neutral-200 shadow-lg",children:[t.jsxs("div",{className:"flex items-center justify-center mb-6",children:[t.jsx("div",{className:"w-12 h-12 bg-primary-600 rounded-xl flex items-center justify-center mr-4",children:t.jsx("svg",{className:"w-6 h-6 text-white",f
87ill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 8h2a2 2 0 012 2v6a2 2 0 01-2 2h-2v4l-4-4H9a2 2 0 01-2-2v-6a2 2 0 012-2h2m-2-4h6m-6 4v4h6V6h-6z"})})}),t.jsx("h3",{className:"text-2xl font-bold text-primary-800",children:e("footer.connect.title")})]}),t.jsxs("div",{className:"space-y-8",children:[t.jsxs("div",{className:"text-center",children:[t.jsx("h4",{className:"text-xl font-bold text-neutral-700 mb-6",children:"Follow Us"}),t.jsx("div",{className:"flex justify-center space-x-8",children:Ay.map(l=>t.jsxs("a",{href:l.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>jy(l.name,l.url),className:"group relative text-white transition-all duration-300 p-4 rounded-2xl bg-gradient-to-br from-primary-500 to-secondary-500 hover:from-primary-600 hover:to-secondary-600 hover:scale-110 transform hover:shadow-2xl","aria-label":l.name,children:[l.icon,t.jsx("span",{className:"absolute -bottom-8 left-1/2 transform -translate-x-1/2 text-xs text-neutral-600 opacity-0 group-hover:opacity-100 transition-opacity duration-200 whitespace-nowrap",children:l.name})]},l.name))})]}),t.jsxs("div",{className:"text-center",children:[t.jsx("h4",{className:"text-xl font-bold text-neutral-700 mb-4",children:e("footer.connect.stayUpdated")}),t.jsx("p",{className:"text-neutral-600 text-sm mb-6 max-w-md mx-auto",children:"Get the latest updates on our programs, events, and health tips delivered to your inbox."}),t.jsx("div",{className:"max-w-2xl mx-auto",children:t.jsxs("div",{className:"flex rounded-2xl overflow-hidden border-2 border-neutral-300 bg-white shadow-lg hover:shadow-xl transition-all duration-300 hover:border-primary-400",children:[t.jsx("input",{type:"email",placeholder:e("footer.connect.emailPlaceholder"),className:"flex-1 px-6 py-4 bg-transparent text-neutral-700 placeholder-neutral-400 focus:outline-none focus:ring-0 text-base font-medium"}),t.jsxs("button",{className:"bg-gradient-to-r from-primary-600 to-secondary-600 hover:from-primary-700 hover:to-secondary-700 px-8 py-4 transition-all duration-300 hover:scale-105 transform text-white font-semibold flex items-center space-x-2 hover:shadow-lg",children:[t.jsx("span",{className:"hidden sm:inline",children:"Subscribe"}),t.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 19l9 2-9-18-9 18 9-2zm0 0v-8"})})]})]})})]})]})]})})]})]})]}),t.jsx("div",{className:"bg-gradient-to-r from-primary-100 to-secondary-100 border-t border-neutral-300",children:t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6",children:t.jsxs("div",{className:"flex flex-col md:flex-row justify-between items-center space-y-4 md:space-y-0",children:[t.jsx("div",{className:"text-neutral-600 text-base font-medium",children:e("footer.copyright")}),t.jsx("div",{className:"flex space-x-6 text-base",children:t.jsx($,{to:"/privacy-policy",onClick:()=>cn("legal","Privacy Policy","/privacy-policy"),className:"text-neutral-600 hover:text-primary-700 transition-all hover:scale-105 transform duration-200 font-medium",children:e("footer.legal.privacy")})})]})})}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"EducationalOrganization",name:"Calgary College of Traditional Chinese Medicine and Acupuncture",alternateName:"CCTCMA",url:"https://cctcma.com",logo:"https://cctcma.com/images/logo.png",description:"Leading Traditional Chinese Medicine education in Calgary, offering Massage Therapy, Acupuncture, and Traditional Chinese Medicine diploma programs.",address:{"@type":"PostalAddress",streetAddress:"107 and 217, 4014 Macleod Trail South",addressLocality:"Calgary",addressRegion:"AB",postalCode:"T2G 2R7",addressCountry:"CA"},contactPoint:{"@type":"ContactPoint",telephone:"+1-403-287-8688",contactType:"customer service",email:"[email protected]",availableLanguage:["English","Chinese"]},openingHours:["Mo-Fr 09:00-17:00"],sameAs:["https://m.facebook.com/cctcma/","https://www.instagram.com/cctcma/"]})})]})}const _y={"/about":"/about-us","/programs":"/academic-programs","/admission":"/admissions","/admission/apply":"/admissions/online-application","/clinic":"/tcm-clinic","/clinic/book":"/tcm-clinic/services-booking","/clinic/practitioners":"/tcm-clinic/prepare-for-appointment","/contact":"/contact-us","/exam":"/lice
87nsing-exam"},Ey={"tcm-practitioner":"traditional-chinese-medicine-practitioner",acupuncture:"acupuncture-diploma",herbology:"chinese-herbology",tuina:"tuina-massage-therapy","continuing-education":"continuing-education-programs"};Object.fromEntries(Object.entries(Ey).map(([e,n])=>[n,e]));function Ly(){const e=on(),n=gt();return w.useEffect(()=>{const a=n.pathname,i=_y[a];if(i){const r=`${window.location.origin}${i}${window.location.search}`;window.location.replace(r)}},[n.pathname,e]),null}const Ds=(e,n={})=>{const{quality:a=85,format:i="webp",width:r,height:s}=n;if(e.startsWith("http"))return e;const o=new URLSearchParams;a&&o.append("q",a.toString()),i&&o.append("format",i),r&&o.append("w",r.toString()),s&&o.append("h",s.toString());const c=o.toString();return c?`${e}?${c}`:e},Dy=e=>new Promise((n,a)=>{const i=new Image;i.onload=()=>n(),i.onerror=a,i.src=e}),Iy=async e=>{const n=e.map(a=>Dy(a));await Promise.all(n)},Ry=["/images/logo.png","/images/hero-slide1.jpg","/images/hero-slide2.jpg","/images/hero-slide3.jpg"],Oy=[];function Ky(){return w.useEffect(()=>{if(Iy(Ry).catch(console.error),Oy.forEach(e=>{const n=document.createElement("link");n.rel="preload",n.as="font",n.type="font/woff2",n.crossOrigin="anonymous",n.href=e,document.head.appendChild(n)}),"serviceWorker"in navigator&&navigator.serviceWorker.getRegistrations().then(e=>{e.length===0?navigator.serviceWorker.register("/sw.js").then(n=>{console.log("SW registered: ",n)}).catch(n=>{console.log("SW registration failed: ",n)}):console.log("SW already registered")}),"performance"in window&&window.addEventListener("load",()=>{const e=performance.getEntriesByType("navigation")[0],n=e.loadEventEnd-e.loadEventStart,a=e.domContentLoadedEventEnd-e.domContentLoadedEventStart;typeof window<"u"&&window.gtag&&(window.gtag("event","page_load_time",{event_category:"performance",value:Math.round(n),custom_parameter_1:"page_performance"}),window.gtag("event","dom_content_loaded",{event_category:"performance",value:Math.round(a),custom_parameter_1:"dom_performance"}))}),"PerformanceObserver"in window){const e=new PerformanceObserver(a=>{const i=a.getEntries(),r=i[i.length-1];typeof window<"u"&&window.gtag&&window.gtag("event","largest_contentful_paint",{event_category:"web_vitals",value:Math.round(r.startTime),custom_parameter_1:"lcp_timing"})});try{e.observe({entryTypes:["largest-contentful-paint"]})}catch{console.warn("LCP observer not supported")}const n=new PerformanceObserver(a=>{a.getEntries().forEach(r=>{typeof window<"u"&&window.gtag&&window.gtag("event","first_input_delay",{event_category:"web_vitals",value:Math.round(r.processingStart-r.startTime),custom_parameter_1:"fid_timing"})})});try{n.observe({entryTypes:["first-input"]})}catch{console.warn("FID observer not supported")}}},[]),null}function Fy({children:e}){const[n,a]=w.useState(new Map),[i,r]=w.useState(!1);w.useEffect(()=>{s()},[]);const s=async()=>{r(!0);try{const d=["/images/hero-slide1.jpg","/images/hero-slide2.jpg","/images/hero-slide3.jpg","/images/acupuncture.jpg","/images/massage.jpg","/images/tcm.jpg","/images/clinic-acupuncture.jpg","/images/clinic-massage.jpg","/images/clinic-tcm.jpg","/images/experienced-instructors.jpg","/images/hands-on-learning.jpg","/images/international-experience.jpg","/images/logo.png"],p=new Map;for(const u of d){const m={original:u,optimized:Ds(u,{quality:85}),webp:Ds(u,{format:"webp",quality:85}),avif:Ds(u,{format:"webp",quality:80}),placeholder:o(u)};p.set(u,m)}a(p),await c()}catch(d){console.error("Image optimization failed:",d)}finally{r(!1)}},o=d=>{const p=d.includes("hero"),u=d.includes("clinic");let m="#f3f4f6";p&&(m="#ef4444"),u&&(m="#10b981");const h=`
88      <svg width="400" height="300" xmlns="http://www.w3.org/2000/svg">
89        <rect width="100%" height="100%" fill="${m}" opacity="0.3"/>
90        <text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" 
91              fill="${m}" font-family="Arial" font-size="16">Loading...</text>
92      </svg>
93    `;return`data:image/svg+xml;base64,${btoa(h)}`},c=async()=>{const p=["/images/logo.png","/images/hero-slide1.jpg","/images/hero-slide2.jpg"].map(u=>
93new Promise(m=>{const h=new Image;h.onload=()=>{console.log(`✓ Preloaded: ${u}`),m(u)},h.onerror=()=>{console.warn(`✗ Failed to preload: ${u}`),m(u)},h.src=u,setTimeout(()=>{console.warn(`⏱ Timeout preloading: ${u}`),m(u)},5e3)}));try{await Promise.allSettled(p),console.log("Image preloading completed")}catch(u){console.warn("Image preloading encountered issues:",u)}},l=(d,p,u)=>{const m=n.get(d);return{src:(m==null?void 0:m.optimized)||d,webpSrc:m==null?void 0:m.webp,avifSrc:m==null?void 0:m.avif,placeholder:m==null?void 0:m.placeholder,alt:p,className:u,loading:"lazy",decoding:"async"}};return t.jsx(Hy.Provider,{value:{imageCache:n,getOptimizedImageProps:l,isOptimizing:i},children:e})}const Hy=we.createContext(null),Is="cctcma_cookie_consent",qi={necessary:!0,functional:!1,analytics:!1,performance:!1,advertisement:!1};function zy(){const[e,n]=w.useState({hasConsentChoice:!1,settings:qi});w.useEffect(()=>{const o=localStorage.getItem(Is);if(o)try{const c=JSON.parse(o);n({hasConsentChoice:!0,settings:{...qi,...c.settings}})}catch(c){console.error("解析cookie同意设置失败:",c)}},[]);const a=o=>{const c={settings:o,timestamp:new Date().toISOString()};localStorage.setItem(Is,JSON.stringify(c)),n({hasConsentChoice:!0,settings:o}),window.dispatchEvent(new CustomEvent("cookieConsentUpdated",{detail:o}))};return{...e,saveConsent:a,acceptAll:()=>{a({necessary:!0,functional:!0,analytics:!0,performance:!0,advertisement:!0})},acceptNecessaryOnly:()=>{a(qi)},resetConsent:()=>{localStorage.removeItem(Is),n({hasConsentChoice:!1,settings:qi})}}}function qy(){const{t:e}=V(),{hasConsentChoice:n,settings:a,saveConsent:i,acceptAll:r,acceptNecessaryOnly:s}=zy(),[o,c]=w.useState(!1),[l,d]=w.useState(a);if(n)return null;const p=x=>{x!=="necessary"&&d(v=>({...v,[x]:!v[x]}))},u=()=>{i(l),c(!1)},m=()=>{c(!0),d(a)},h=[{key:"necessary",title:"Necessary",description:"Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.",alwaysActive:!0},{key:"functional",title:"Functional",description:"Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.",alwaysActive:!1},{key:"analytics",title:"Analytics",description:"Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.",alwaysActive:!1},{key:"performance",title:"Performance",description:"Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.",alwaysActive:!1},{key:"advertisement",title:"Advertisement",description:"Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.",alwaysActive:!1}];return t.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 z-50 flex items-center justify-center p-4",children:t.jsxs("div",{className:"bg-white rounded-lg shadow-2xl max-w-2xl w-full max-h-[90vh] overflow-y-auto",children:[t.jsx("div",{className:"p-6 border-b border-gray-200",children:t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsx("h2",{className:"text-xl font-bold text-gray-900",children:"Customize Consent Preferences"}),o&&t.jsx("button",{onClick:()=>c(!1),className:"text-gray-400 hover:text-gray-600 transition-colors","aria-label":"Close",children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})}),t.jsx("div",{className:"p-6",children:o?t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"text-gray-700 text-sm mb-6",children:[t.jsx("p",{className:"mb-3",children:"Manage your cookie preferences by category. You can enable or disable different types of cookies below. Note that disabling some cookies may impact your experience on our website."}),t.jsxs("p",{children:["For more information about how we handle your data, please read our"," ",t.jsx($,{to:"/privacy-policy",className:"text-blue-600 hover:text-blue-700 underline font-medium",onClick:()=>{u()},children:"Privacy Policy"}),"."]})]}),t.jsx("div",{className:"space-y-4",children:h.map(x=>t.jsxs("div",{className:"border border-gray-200 rounded-lg p-4",children:[t.jsxs("div",{className:"flex items-center justify-between mb-3",children:[t.jsxs("div",{className:"flex items-center space-x-3",children:[t.jsx("h3",{className:"font-semibold text-gray-900",children:x.title}),x.alwaysActive&&t.jsx("span",{className:"px-2 py-1 bg-green-100 text-green-800 text-xs rounded-full",children:"Always Active"})]}),!x.alwaysActive&&t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:l[x.key],onChange:()=>p(x.key),className:"sr-only peer"}),t.jsx("div",{className:"w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-blue-300 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-blue-600"})]}),x.alwaysActive&&t.jsx("div",{className:"w-11 h-6 bg-green-500 rounded-full relative",children:t.jsx("div",{className:"absolute top-[2px] right-[2px] bg-white border border-white rounded-full h-5 w-5"})})]}),t.jsx("p",{className:"text-sm text-gray-600 leading-relaxed",children:x.description})]},x.key))}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 pt-4 border-t border-gray-200",children:[t.jsx("button",{onClick:u,className:"px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors font-medium",children:"Save Preferences"}),t.jsx("button",{onClick:r,className:"px-6 py-3 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition-colors font-medium",children:"Accept All"}),t.jsx("button",{onClick:()=>c(!1),className:"px-6 py-3 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors font-medium",children:"Cancel"})]})]}):t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"text-gray-700",children:[t.jsx("p",{className:"mb-4",children:"We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below."}),t.jsx("p",{className:"text-sm mb-3",children:'The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site.'}),t.jsxs("p",{className:"text-sm",children:["For more information about how we handle your data, please read our"," ",t.jsx($,{to:"/privacy-policy",className:"text-blue-600 hover:text-blue-700 underline font-medium",onClick:()=>{s()},children:"Privacy Policy"}),"."]})]}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-3",children:[t.jsx("button",{onClick:r,className:"px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors font-medium",children:"Accept All"}),t.jsx("button",{onClick:s,className:"px-6 py-3 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition-colors font-medium",children:"Necessary Only"}),t.jsx("button",{onClick:m,className:"px-6 py-3 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors font-medium",children:"Customize"})]})]})})]})})}function ze({contentKey:e,src:n,alt:a,className:i="",containerClassName:r="",imgStyle:s,isAlwaysEditable:o=!1}){const{getContentByKey:c,uploadImage:l}=ns(),{isEditMode:d}=rt(),[p,u]=w.useState(!1),[m,h]=w.useState(!1),[x,v]=w.useState(!1),C=w.useRef(null),f=c(e),b=(f==null?void 0:f.value)||n,y=o||d,N=b&&b.trim()!=="",S=()=>{var T;y&&!p&&((T=C.current)==null||T.click())},k=async T=>{var A;const I=(A=T.target.files)==null?void 0:A[0];if(I){if(!I.type.startsWith("image/")){alert("Please select an image file");return}if(I.size>5*1024*1024){alert("File size must be less than 5MB");return}u(!0);try{await l(I,e)||alert("Upload failed, please try again")}catch(D){console.error("Upload error:",D),alert("Upload failed, please try again")}finally{u(!1),C.current&&(C.current.value="")}}};return t.jsxs("div",{className:`relative ${r}`,onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),onWheel:T=>T.preventDefault(),style:y?{position:"relative",zIndex:1,overflow:"hidden"}:{overflow:"hidden"},children:[N&&t.jsx("img",{src:b,alt:a,style:s,className:`${i} ${y?"cursor-pointer":""} ${y&&m?"ring-2 ring-primary-400 ring-opacity-50":""} ${y&&(e.includes("carousel")||e.includes("slide"))&&!m?"ring-1 ring-primary-300 ring-opacity-30":""}`,onClick:S,onWheel:T=>T.preventDefault(),title:y?"Click to change image":"",onError:T=>{y&&(v(!0),T.currentTarget.style.backgroundColor="#f3f4f6",T.currentTarget.style.border="2px dashed #d1d5db")},onLoad:()=>v(!1)}),y&&(!N||x)&&t.jsx("div",{onClick:S,className:"absolute inset-0 bg-gradient-to-br from-primary-100 to-primary-200 border-2 border-dashed border-primary-300 flex flex-col items-center justify-center cursor-pointer hover:bg-gradient-to-br hover:from-primary-200 hover:to-primary-300 transition-colors",style:{zIndex:5},children:a&&!x?t.jsxs("div",{className:"flex flex-col items-center",children:[t.jsx("span",{className:"text-3xl font-bold text-primary-600 mb-2",children:a.split(" ").map(T=>T[0]).join("")}),t.jsx("svg",{className:"w-8 h-8 text-primary-500 mb-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),t.jsx("p",{className:"text-primary-600 text-sm font-medium",children:"Click to upload image"})]}):t.jsxs("div",{className:"flex flex-col items-center",children:[t.jsx("svg",{className:"w-12 h-12 text-primary-400 mb-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),t.jsx("p",{className:"text-primary-500 text-sm font-medium mb-1",children:"Click to upload image"}),t.jsx("p",{className:"text-primary-400 text-xs",children:e})]})}),y&&m&&N&&!x&&t.jsx("div",{onClick:S,className:"absolute inset-0 bg-black bg-opacity-30 transition-all flex items-center justify-center cursor-pointer",style:{zIndex:10},children:t.jsx("div",{className:"bg-white rounded-lg p-3 shadow-xl transform scale-90 hover:scale-100 transition-transform duration-200",children:p?t.jsxs("div",{className:"flex items-center space-x-2",children:[t.jsx("div",{className:"animate-spin rounded-full h-5 w-5 border-b-2 border-primary-600"}),t.jsx("span",{className:"text-sm text-gray-700",children:"Uploading..."})]}):t.jsxs("div",{className:"flex items-center space-x-2",children:[t.jsx("svg",{className:"h-5 w-5 text-primary-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),t.jsx("span",{className:"text-sm text-gray-700",children:"Change Image"})]})})}),p&&t.jsx("div",{className:"absolute top-2 right-2 bg-primary-500 text-white text-xs px-2 py-1 rounded-full animate-pulse",style:{zIndex:20},children:"Uploading..."}),y&&t.jsxs("div",{className:`absolute top-0 left-0 bg-primary-500 text-white text-xs px-2 py-0.5 rounded-br shadow-md flex items-center transition-opacity duration-200 ${m?"opacity-100":e.includes("carousel")||e.includes("slide")?"opacity-70":"opacity-0"}`,style:{zIndex:20},children:[t.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})}),"Edit Image"]}),t.jsx("input",{ref:C,type:"file",accept:"image/*",onChange:k,className:"hidden"})]})}const By=({reviews:e})=>{const[n,a]=w.useState(0),i=w.useRef(null),r=e.reduce((p,u,m)=>{const h=Math.floor(m/2);return p[h]||(p[h]=[]),p[h].push(u),p},[]),s=()=>{i.current&&(clearInterval(i.current),i.current=null)},o=()=>{s(),i.current=setInterval(()=>{a(p=>(p+1)%r.length)},8e3)},c=()=>{s(),a(p=>(p+1)%r.length),o()},l=()=>{s(),a(p=>(p-1+r.length)%r.length),o()},d=p=>{s(),a(p),o()};return w.useEffect(()=>(o(),()=>{s()}),[r.length]),t.jsxs("div",{className:"relative max-w-6xl mx-auto",children:[t.jsx("button",{onClick:l,className:"absolute left-0 top-1/2 -translate-y-1/2 z-10 p-3 rounded-full bg-primary-600 text-white hover:bg-primary-700 transition-all duration-300 shadow-lg hover:scale-110 focus:outline-none focus:ring-2 focus:ring-white/50","aria-label":"Previous reviews",children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),t.jsx("button",{onClick:c,className:"absolute right-0 top-1/2 -translate-y-1/2 z-10 p-3 rounded-full bg-primary-600 text-white hover:bg-primary-700 transition-all duration-300 shadow-lg hover:scale-110 focus:outline-none focus:ring-2 focus:ring-white/50","aria-label":"Next reviews",children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}),t.jsx("div",{className:"overflow-hidden px-4",children:t.jsx("div",{className:"flex transition-transform duration-500 ease-in-out",style:{transform:`translateX(-${n*100}
93%)`},children:r.map((p,u)=>t.jsx("div",{className:"flex-shrink-0 w-full flex flex-col md:flex-row gap-8 justify-center items-center",children:p.map(m=>t.jsx("div",{className:"flex-shrink-0 w-96 h-96 bg-white rounded-xl p-4 mx-4",children:t.jsx("img",{src:m.imageSrc,alt:m.altText,className:"w-full h-full object-contain rounded-lg"})},m.id))},u))})}),t.jsx("div",{className:"flex justify-center mt-8 space-x-2",children:r.map((p,u)=>t.jsx("button",{onClick:()=>d(u),className:`w-3 h-3 rounded-full transition-colors duration-200 ${u===n?"bg-primary-600":"bg-primary-200 hover:bg-primary-300"}`,"aria-label":`Go to reviews group ${u+1}`},u))})]})};function $y(){const[e,n]=w.useState(0),[a,i]=w.useState(0),[r,s]=w.useState(0),{t:o}=V(),{isEditMode:c}=rt();ie();const l=[{name:o("testimonials.cindyLi.name"),quote:o("testimonials.cindyLi.quote")},{name:o("testimonials.kristinHintz.name"),quote:o("testimonials.kristinHintz.quote")},{name:o("testimonials.christinaBurns.name"),quote:o("testimonials.christinaBurns.quote")},{name:o("testimonials.nicoleMitchelson.name"),quote:o("testimonials.nicoleMitchelson.quote")},{name:o("testimonials.jenniferBarrow.name"),quote:o("testimonials.jenniferBarrow.quote")},{name:o("testimonials.ranQian.name"),quote:o("testimonials.ranQian.quote")}],d=[{id:1,title:o("page.home.hero.slide1.title"),subtitle:o("page.home.hero.slide1.subtitle"),image:"/images/carousel/welcome-to-cctcma.png",cta:o("page.home.hero.slide1.cta"),ctaLink:"/about",translationKeys:{title:"home.hero.slide1.title",subtitle:"home.hero.slide1.subtitle",cta:"home.hero.slide1.cta"}},{id:2,title:o("page.home.hero.slide2.title"),subtitle:o("page.home.hero.slide2.subtitle"),image:"/images/carousel/new-homepage-background.jpg",cta:o("page.home.hero.slide2.cta"),ctaLink:"/contact#business-hours",translationKeys:{title:"home.hero.slide2.title",subtitle:"home.hero.slide2.subtitle",cta:"home.hero.slide2.cta"}},{id:3,title:o("page.home.hero.slide3.title"),subtitle:o("page.home.hero.slide3.subtitle"),image:"/images/carousel/new-homepage-background-2.jpg",cta:o("page.home.hero.slide3.cta"),ctaLink:"/programs",translationKeys:{title:"home.hero.slide3.title",subtitle:"home.hero.slide3.subtitle",cta:"home.hero.slide3.cta"}}],p=[{id:1,title:o("page.home.programs.massage.title"),description:o("page.home.programs.massage.description"),link:"/programs/massage",linkText:o("page.home.programs.massage.linkText")},{id:2,title:o("page.home.programs.acupuncture.title"),description:o("page.home.programs.acupuncture.description"),link:"/programs/acupuncture",linkText:o("page.home.programs.acupuncture.linkText")},{id:3,title:o("page.home.programs.tcm.title"),description:o("page.home.programs.tcm.description"),link:"/programs/tcm",linkText:o("page.home.programs.tcm.linkText")}],u=[{id:1,title:o("home.whyChoose.feature1.title"),description:o("home.whyChoose.feature1.description"),image:"/images/home/hands-on-learning.png"},{id:2,title:o("home.whyChoose.feature2.title"),description:o("home.whyChoose.feature2.description"),image:"/images/home_page_why_choos_02.png"},{id:3,title:o("home.whyChoose.feature3.title"),description:o("home.whyChoose.feature3.description"),image:"/images/home/international-experience.PNG"}],m=[{src:"/images/about_us_homepage/about_us_image1.png",alt:o("page.home.about.carousel.image1Alt")},{src:"/images/about_us_homepage/about_us_image2.png",alt:o("page.home.about.carousel.image2Alt")},{src:"/images/about_us_homepage/about_us_image3.jpg",alt:o("page.home.about.carousel.image3Alt")},{src:"/images/about_us_homepage/about_us_image4.png",alt:o("page.home.about.carousel.image4Alt")}];return w.useEffect(()=>{if(!c){const h=setInterval(()=>{n(x=>(x+1)%d.length)},5e3);return()=>clearInterval(h)}},[d.length,c]),w.useEffect(()=>{const h=setInterval(()=>{i(x=>(x+1)%m.length)},4e3);return()=>clearInterval(h)},[m.length]),w.useEffect(()=>{if(!c){const h=setInterval(()=>{s(x=>(x+1)%Math.ceil(l.length/2))},6e3);return()=>clearInterval(h)}},[l.length,c]),t.jsxs("div",{className:"min-h-screen w-full overflow-x-hidden",children:[t.jsxs("div",{className:"relative h-[70vh] md:h-[80vh] lg:h-[90vh] overflow-hidden bg-gradient-to-b from-white to-primary-50 w-full",children:["        ",t.jsxs("div",{className:"absolute inset-0 opacity-30 z-5",children:[t.jsx("div",{className:"absolute top-10 left-10 w-32 h-32 border-3 border-primary-400/60 rounded-full animate-drift"}),t.jsx("div",{className:"absolute bottom-20 right-20 w-24 h-24 border-2 border-secondary-400/60 rounded-full animate-sway",style:{animationDelay:"1s"}}),t.jsx("div",{className:"absolute top-1/2 left-1/4 w-16 h-16 bg-primary-500/70 rounded-full animate-pulse-glow",style:{animationDelay:"2s"}}),t.jsx("div",{className:"absolute top-1/3 right-1/3 w-12 h-12 border-2 border-accent-400/60 rounded-full animate-gentle-bounce",style:{animationDelay:"3s"}}),t.jsx("div",{className:"absolute bottom-1/3 left-1/3 w-8 h-8 bg-secondary-400/50 rounded-full animate-drift",style:{animationDelay:"4s"}}),t.jsx("div",{className:"absolute top-1/4 right-1/4 w-20 h-20 border-2 border-secondary-400/60 rounded-full animate-sway",style:{animationDelay:"5s"}}),t.jsx("div",{className:"absolute top-1/5 left-1/5 w-6 h-6 border-2 border-golden-400/50 rotate-45 animate-rotate-slow"}),t.jsx("div",{className:"absolute bottom-1/5 right-1/5 w-4 h-4 bg-coral-400/60 rounded-full animate-gentle-bounce",style:{animationDelay:"6s"}}),t.jsx("div",{className:"absolute top-2/3 left-2/3 w-10 h-10 border border-primary-300/40 rounded-full animate-pulse-glow",style:{animationDelay:"7s"}})]}),d.map((h,x)=>t.jsxs("div",{className:`absolute inset-0 transition-all duration-1000 ease-in-out ${x===e?"opacity-100 scale-100 z-20":"opacity-0 scale-105 z-10"}`,children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-primary-800/60 via-primary-700/40 to-primary-600/60 z-10"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-black/20 via-trans
93parent to-black/30 z-10"}),t.jsx(ze,{contentKey:`hero_slide_${h.id}_image`,src:h.image,alt:h.title,className:"w-full h-full object-cover"}),t.jsx("div",{className:"absolute inset-0 z-30 flex flex-col items-center justify-center text-white text-center px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"max-w-5xl mx-auto p-8 lg:p-12",children:[t.jsx(g,{contentKey:`hero_slide_${h.id}_title`,translationKey:h.translationKeys.title,className:"text-2xl sm:text-3xl md:text-4xl lg:text-6xl font-bold mb-4 lg:mb-6 leading-tight font-chinese drop-shadow-lg",children:t.jsx("h1",{className:"text-2xl sm:text-3xl md:text-4xl lg:text-6xl font-bold mb-4 lg:mb-6 leading-tight font-chinese drop-shadow-lg text-white",children:h.title})}),h.subtitle&&t.jsx(g,{contentKey:`hero_slide_${h.id}_subtitle`,translationKey:h.translationKeys.subtitle,className:"text-lg sm:text-xl md:text-2xl lg:text-3xl mb-6 lg:mb-8 font-light leading-relaxed opacity-95",children:t.jsx("p",{className:"text-lg sm:text-xl md:text-2xl lg:text-3xl mb-6 lg:mb-8 font-light leading-relaxed opacity-95 text-white",children:h.subtitle})}),"                ",h.author&&t.jsx(g,{contentKey:`hero_slide_${h.id}_author`,translationKey:h.translationKeys.author,className:"text-base md:text-lg lg:text-xl italic mb-8 lg:mb-10 opacity-90",children:t.jsxs("p",{className:"text-base md:text-lg lg:text-xl italic mb-8 lg:mb-10 opacity-90 text-white",children:["— ",h.author]})}),"                ",t.jsxs("a",{href:h.ctaLink,className:"inline-block px-8 md:px-10 py-4 md:py-5 bg-primary-500 hover:bg-primary-600 text-white rounded-full font-semibold text-sm md:text-base lg:text-lg transition-all duration-300 hover:scale-105 hover:shadow-healing-medium border border-white/30 group relative overflow-hidden text-center no-underline",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-white/0 via-white/20 to-white/0 translate-x-[-200%] group-hover:translate-x-[200%] transition-transform duration-700 ease-in-out"}),t.jsxs("div",{className:"flex items-center justify-center",children:[t.jsx(g,{contentKey:`hero_slide_${h.id}_cta`,translationKey:h.translationKeys.cta,className:"relative z-10 font-semibold",children:t.jsx("span",{className:"relative z-10 font-semibold",children:h.cta})}),t.jsx("svg",{className:"ml-2 w-5 h-5 transition-transform duration-300 group-hover:translate-x-1 relative z-10",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 8l4 4m0 0l-4 4m4-4H3"})})]})]})]})})]},h.id)),t.jsx("div",{className:"absolute bottom-6 left-1/2 transform -translate-x-1/2 z-30",children:t.jsx("div",{className:"flex space-x-3",children:d.map((h,x)=>t.jsx("button",{onClick:()=>n(x),className:`w-3 h-3 rounded-full transition-all duration-300 ${x===e?"bg-white shadow-lg scale-110":"bg-white/50 hover:bg-white/75"}`,"aria-label":`${o("home.hero.navigation.goToSlide")} ${x+1}`},x))})}),t.jsx("button",{onClick:()=>n(h=>(h-1+d.length)%d.length),className:"absolute left-4 top-1/2 transform -translate-y-1/2 z-30 bg-primary-500 hover:bg-primary-600 backdrop-blur-sm text-white p-3 rounded-full transition-all duration-300 hover:scale-110 hover:shadow-healing-medium","aria-label":o("home.hero.navigation.previousSlide"),children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),t.jsx("button",{onClick:()=>n(h=>(h+1)%d.length),className:"absolute right-4 top-1/2 transform -translate-y-1/2 z-30 bg-primary-500 hover:bg-primary-600 backdrop-blur-sm text-white p-3 rounded-full transition-all duration-300 hover:scale-110 hover:shadow-healing-medium","aria-label":o("home.hero.navigation.nextSlide"),children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}),"      "]}),t.jsxs("section",{className:"py-20 lg:py-24 bg-primary-50 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-healing-pattern opacity-30"}),t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10",children:t.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 lg:gap-16 items-center animate-fade-in-up",children:[t.jsxs("div",{children:[t.jsxs("div",{className:"inline-flex items-center bg-gradient-to-r from-primary-100 to-secondary-100 text-primary-700 px-4 py-2 rounded-full text-sm font-medium mb-6 animate-mindful-pulse hover:scale-105 transition-transform duration-300 group cursor-pointer relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-transparent via-white/20 to-transparent translate-x-[-200%] group-hover:translate-x-[200%] transition-transform duration-1000 ease-in-out"}),t.jsx("svg",{className:"w-4 h-4 mr-2 group-hover:text-secondary-600 transition-all duration-300 transform group-hover:rotate-12",fill:"
93currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-6-3a2 2 0 11-4 0 2 2 0 014 0zm-2 4a5 5 0 00-4.546 2.916A5.986 5.986 0 0010 16a5.986 5.986 0 004.546-2.084A5 5 0 0010 11z",clipRule:"evenodd"})}),t.jsx(g,{contentKey:"about_section_label",translationKey:"home.about.sectionLabel",className:"group-hover:text-secondary-700 transition-colors duration-300 relative z-10",children:t.jsx("span",{className:"group-hover:text-secondary-700 transition-colors duration-300 relative z-10",children:o("page.home.about.sectionLabel")})}),t.jsx("svg",{className:"w-3 h-3 ml-2 opacity-0 group-hover:opacity-100 transition-all duration-300 transform group-hover:scale-110 group-hover:rotate-45",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 3l14 9-14 9V3z"})})]}),t.jsx(g,{contentKey:"about_title",translationKey:"home.about.title",className:"text-4xl lg:text-5xl font-bold mb-6 text-primary-700 leading-tight",children:t.jsx("h2",{className:"text-4xl lg:text-5xl font-bold mb-6 text-primary-700 leading-tight",children:o("page.home.about.title")})}),t.jsx(g,{contentKey:"about_description",translationKey:"home.about.description",className:"text-lg lg:text-xl text-gray-700 leading-relaxed mb-8",multiline:!0,children:t.jsx("p",{className:"text-lg lg:text-xl text-gray-700 leading-relaxed mb-8",children:o("page.home.about.description")})}),t.jsxs("div",{className:"grid grid-cols-2 gap-6 mb-8",children:[t.jsxs("div",{className:"text-center p-4 bg-white/90 backdrop-blur-sm rounded-xl shadow-healing-soft border border-primary-200 hover:shadow-healing-medium transition-all duration-300 hover:scale-105",children:[t.jsx(g,{contentKey:"stats_years_number",translationKey:"home.stats.years.number",className:"text-3xl font-bold text-primary-700 mb-2",children:t.jsx("div",{className:"text-3xl font-bold text-primary-700 mb-2",children:"20+"})}),t.jsx(g,{contentKey:"stats_years_label",translationKey:"home.stats.years.label",className:"text-sm text-secondary-600",children:t.jsx("div",{className:"text-sm text-secondary-600",children:o("page.home.stats.years.label")})})]}),t.jsxs("div",{className:"text-center p-4 bg-white/90 backdrop-blur-sm rounded-xl shadow-healing-soft border border-primary-200 hover:shadow-healing-medium transition-all duration-300 hover:scale-105",children:[t.jsx(g,{contentKey:"stats_graduates_number",translationKey:"home.stats.graduates.number",className:"text-3xl font-bold text-primary-700 mb-2",children:t.jsx("div",{className:"text-3xl font-bold text-primary-700 mb-2",children:"1000+"})}),t.jsx(g,{contentKey:"stats_graduates_label",translationKey:"home.stats.graduates.label",className:"text-sm text-secondary-600",children:t.jsx("div",{className:"text-sm text-secondary-600",children:o("page.home.stats.graduates.label")})})]})]}),t.jsxs($,{to:"/about",className:"inline-flex items-center justify-center bg-primary-600 hover:bg-primary-700 text-white px-8 py-4 rounded-full font-semibold transition-all duration-300 hover:shadow-healing-medium transform hover:scale-105 group relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-white/0 via-white/20 to-white/0 translate-x-[-200%] group-hover:translate-x-[200%] transition-transform duration-700 ease-in-out"}),t.jsx(g,{contentKey:"about_cta_button",translationKey:"home.about.cta",className:"relative z-10",children:t.jsx("span",{className:"relative z-10",children:o("page.home.about.cta")})})]})]}),t.jsx("div",{className:"lg:order-last",children:t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute -top-4 -left-4 w-24 h-24 bg-primary-200/70 rounded-full animate-drift"}),t.jsx("div",{className:"absolute -bottom-4 -right-4 w-32 h-32 bg-secondary-200/70 rounded-full animate-sway"}),t.jsx("div",{className:"absolute top-1/2 -right-8 w-16 h-16 bg-accent-200/70 rounded-full animate-pulse-glow",style:{animationDelay:"2s"}}),t.jsx("div",{className:"absolute top-1/4 -left-6 w-12 h-12 bg-secondary-200/70 rounded-full animate-gentle-bounce",style:{animationDelay:"3s"}}),t.jsx("div",{className:"absolute top-3/4 -left-2 w-8 h-8 bg-golde
93n-300/60 rounded-full animate-drift",style:{animationDelay:"4s"}}),t.jsx("div",{className:"absolute bottom-1/4 -right-2 w-6 h-6 border-2 border-coral-400/70 rounded-full animate-rotate-slow"}),t.jsxs("div",{className:"relative z-10 w-full h-80 lg:h-96 rounded-2xl overflow-hidden shadow-healing-strong hover:shadow-healing-glow transition-all duration-500 group",children:[m.map((h,x)=>t.jsxs("div",{className:`absolute inset-0 transition-opacity duration-1000 ${x===a?"opacity-100":"opacity-0"}`,children:[t.jsx(ze,{contentKey:`about_carousel_image_${x}`,src:h.src,alt:h.alt,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-700"}),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/30 via-transparent to-transparent"})]},x)),t.jsx("div",{className:"absolute bottom-4 right-4 flex space-x-2",children:m.map((h,x)=>t.jsx("button",{onClick:()=>i(x),className:`w-2 h-2 rounded-full transition-all duration-300 ${x===a?"bg-white shadow-lg":"bg-white/50 hover:bg-white/75"}`},x))})]})]})})]})})]}),t.jsxs("section",{className:"py-20 lg:py-24 bg-white relative overflow-hidden w-full",children:[t.jsx("div",{className:"absolute inset-0 bg-nature-pattern opacity-40"}),t.jsxs("div",{className:"absolute inset-0 opacity-15",children:[t.jsx("div",{className:"absolute top-20 left-20 w-40 h-40 border-4 border-primary-400 rounded-full animate-drift"}),t.jsx("div",{className:"absolute bottom-32 right-32 w-28 h-28 border-2 border-secondary-400 rounded-full animate-sway",style:{animationDelay:"2s"}}),t.jsx("div",{className:"absolute top-1/2 right-1/4 w-20 h-20 bg-accent-400/60 rounded-full animate-pulse-glow",style:{animationDelay:"3s"}}),t.jsx("div",{className:"absolute top-1/4 left-1/2 w-16 h-16 border-3 border-secondary-400 rounded-full animate-gentle-bounce",style:{animationDelay:"1s"}}),t.jsx("div",{className:"absolute bottom-1/4 left-1/4 w-12 h-12 bg-secondary-400/60 rounded-full animate-drift",style:{animationDelay:"4s"}}),t.jsx("div",{className:"absolute top-3/4 right-1/3 w-24 h-24 border-2 border-golden-400 rounded-full animate-rotate-slow",style:{animationDelay:"5s"}}),t.jsx("div",{className:"absolute top-1/6 right-1/6 w-8 h-8 bg-coral-400/50 rounded-full animate-gentle-bounce",style:{animationDelay:"6s"}}),t.jsx("div",{className:"absolute bottom-1/6 left-1/6 w-6 h-6 border border-primary-300 rotate-45 animate-sway",style:{animationDelay:"7s"}})]}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10",children:[t.jsxs("div",{className:"text-center mb-16",children:[t.jsxs("div",{className:"inline-flex items-center bg-gradient-to-r from-secondary-100 to-golden-100 text-secondary-700 px-4 py-2 rounded-full text-sm font-medium mb-6 animate-pulse-healing hover:scale-105 transition-transform duration-300 group cursor-pointer",children:[t.jsx("svg",{className:"w-4 h-4 mr-2 group-hover:text-golden-600 transition-colors duration-300",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"})}),t.jsx(g,{contentKey:"programs_section_label",translationKey:"page.home.programs.sectionLabel",className:"group-hover:text-golden-700 transition-colors duration-300",children:t.jsx("span",{className:"group-hover:text-golden-700 transition-colors duration-300",children:o("page.home.programs.sectionLabel")})}),t.jsx("svg",{className:"w-3 h-3 ml-2 opacity-0 group-hover:opacity-100 transition-all duration-300 transform group-hover:scale-110 group-hover:rotate-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})})]}),t.jsx(g,{contentKey:"programs_section_title",translationKey:"page.home.programs.title",className:"text-4xl lg:text-5xl font-bold mb-4 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-4xl lg:text-5xl font-bold mb-4 text-primary-700 font-chinese",children:o("page.home.programs.title")})}),t.jsx(g,{contentKey:"programs_section_subtitle",translationKey:"page.home.programs.subtitle",className:"text-xl text-black max-w-3xl mx-auto",multiline:!0,children:t.jsx("p",{className:"text-xl text-black max-w-3xl mx-auto",children:o("page.home.programs.subtitle")})})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8 lg:gap-10",children:p.map((h,x)=>t.jsxs("div",{className:"group bg-white/90 backdrop-blur-sm rounded-2xl p-8 hover:shadow-healing-medium transition-all duration-500 hover:-translate-y-2 border border-primary-200 hover:border-primary-400 relative overflow-hidden hover:bg-white animate-fade-in-up",style:{animationDelay:`${400+x*200}ms`},children:[t.jsx("div",{className:"absolute inset-0 bg-primary-50 opacity-0 group-hover:opacity-50 transition-opacity duration-500"}),t.jsxs("div",{className:"mb-6 relative z-10",children:[t.jsx("div",{className:"w-16 h-16 bg-primary-100 rounded-2xl flex items-center justify-center mb-6 group-hover:bg-primary-600 transition-all duration-300 border border-primary-200 group-hover:scale-110 group-hover:shadow-healing-glow",children:t.jsx("span",{className:"text-2xl font-bold text-primary-700 group-hover:text-white transition-colors duration-300 font-chinese",children:String(x+1).padStart(2,"0")})}),t.jsx(g,{contentKey:`program_${h.id}_title`,translationKey:`page.home.programs.program${h.id}.title`,className:"text-2xl font-bold mb-4 text-primary-700 transition-colors duration-300 font-chinese group-hover:text-primary-800",children:t.jsx("h3",{className:"text-2xl font-bold mb-4 text-primary-700 transition-colors duration-300 font-chinese group-hover:text-primary-800",children:h.title})}),t.jsx(g,{contentKey:`program_${h.id}_description`,translationKey:`page.home.programs.program${h.id}.description`,className:"text-black mb-6 leading-relaxed group-hover:text-gray-700 transition-colors duration-300",multiline:!0,children:t.jsx("p",{className:"text-black mb-6 leading-relaxed group-hover:text-gray-700 transition-colors duration-300",children:h.description})})]}),t.jsxs($,{to:h.link,className:"inline-flex items-center bg-primary-600 text-white px-6 py-3 rounded-lg font-semibold hover:bg-primary-700 transition-all duration-300 hover:shadow-healing-medium border border-primary-600/50 transform hover:scale-105 group relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-white/0 via-white/20 to-white/0 translate-x-[-200%] group-hover:translate-x-[200%] transition-transform duration-700 ease-in-out"}),t.jsx(g,{contentKey:`program_${h.id}_link_text`,translationKey:`page.home.programs.program${h.id}.linkText`,className:"relative z-10",children:t.jsx("span",{className:"relative z-10",children:h.linkText})})]})]}
93,h.id))})]})]}),t.jsx("section",{className:"py-20 lg:py-24 bg-white overflow-visible",children:t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 overflow-visible",children:t.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 lg:gap-16 overflow-visible",children:[t.jsx("div",{className:"order-2 lg:order-1",children:t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute -top-4 -left-4 w-24 h-24 bg-primary-100 rounded-full"}),t.jsx("div",{className:"absolute -bottom-4 -right-4 w-32 h-32 bg-primary-100 rounded-full"}),t.jsx(ze,{contentKey:"home_mission_image",src:"/images/home_page_our_mission.png",alt:o("home.mission.imageAlt"),className:"relative z-10 w-full h-80 lg:h-96 object-cover rounded-2xl shadow-2xl"})]})}),t.jsxs("div",{className:"order-1 lg:order-2",children:[t.jsxs("div",{className:"inline-flex items-center bg-primary-100 text-primary-700 px-4 py-2 rounded-full text-sm font-medium mb-6",children:[t.jsx("svg",{className:"w-4 h-4 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{d:"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"})}),t.jsx(g,{contentKey:"mission_section_label",translationKey:"home.mission.sectionLabel",className:"",children:t.jsx("span",{children:o("page.home.mission.sectionLabel")})})]}),t.jsx(g,{contentKey:"mission_title",translationKey:"home.mission.title",className:"text-4xl lg:text-5xl font-bold mb-6 text-primary-700 leading-tight",children:t.jsx("h2",{className:"text-4xl lg:text-5xl font-bold mb-6 text-primary-700 leading-tight",children:o("page.home.mission.title")})}),t.jsx(g,{contentKey:"mission_content",translationKey:"home.mission.content",className:"text-lg lg:text-xl text-black leading-relaxed mb-8",multiline:!0,children:t.jsx("div",{className:"text-lg lg:text-xl text-black leading-relaxed mb-8",children:o("page.home.mission.content")})}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[t.jsxs($,{to:"/about",className:"inline-flex items-center justify-center bg-primary-600 hover:bg-primary-700 text-white px-8 py-4 rounded-full font-semibold transition-all duration-300 hover:shadow-lg transform hover:scale-105 group relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-white/0 via-white/20 to-white/0 translate-x-[-200%] group-hover:translate-x-[200%] transition-transform duration-700 ease-in-out"}),t.jsx(g,{contentKey:"mission_learn_more_text",translationKey:"page.home.mission.learnMore",className:"relative z-10",children:t.jsx("span",{className:"relative z-10",children:o("page.home.mission.learnMore")})})]}),t.jsxs($,{to:"/programs",className:"inline-flex items-center justify-center border-2 border-primary-600 text-primary-600 hover:bg-primary-600 hover:text-white px-8 py-4 rounded-full font-semibold transition-all duration-300 transform hover:scale-105 group relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-primary-600/0 via-primary-600/20 to-primary-600/0 translate-x-[-200%] group-hover:translate-x-[200%] transition-transform duration-700 ease-in-out"}),t.jsx(g,{contentKey:"mission_view_programs_text",translationKey:"page.home.mission.viewPrograms",className:"relative z-10",children:t.jsx("span",{className:"relative z-10",children:o("page.home.mission.viewPrograms")})})]})]})]})]})})}),t.jsx("section",{className:"py-20 lg:py-24 bg-white w-full overflow-hidden",children:t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[t.jsxs("div",{className:"text-center mb-16",children:[t.jsx(g,{contentKey:"why_choose_title",translationKey:"home.whyChoose.title",className:"text-4xl lg:text-5xl font-bold mb-6 text-primary-700",children:t.jsx("h2",{className:"text-4xl lg:text-5xl font-bold mb-6 text-primary-700",children:o("page.home.whyCh
93oose.title")})}),t.jsx(g,{contentKey:"why_choose_subtitle",translationKey:"home.whyChoose.subtitle",className:"text-xl text-black max-w-3xl mx-auto",multiline:!0,children:t.jsx("p",{className:"text-xl text-black max-w-3xl mx-auto",children:o("page.home.whyChoose.subtitle")})})]}),t.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-8 lg:gap-10",children:u.map((h,x)=>t.jsxs("div",{className:"group bg-white rounded-2xl p-8 border border-primary-300 shadow-healing-soft hover:shadow-healing-strong transition-all duration-500 hover:-translate-y-4 hover:border-primary-400 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-primary-50 opacity-0 group-hover:opacity-40 transition-opacity duration-500"}),t.jsxs("div",{className:"relative mb-6 overflow-hidden rounded-xl",children:[t.jsx(ze,{contentKey:`why_choose_feature_${h.id}_image`,src:h.image,alt:h.title,className:"w-full h-48 object-cover transition-transform duration-500 group-hover:scale-110"}),t.jsx("div",{className:"absolute top-4 right-4 w-12 h-12 bg-primary-500 rounded-full flex items-center justify-center text-white font-bold text-lg shadow-healing-medium transition-all duration-300 group-hover:scale-110 group-hover:rotate-12 group-hover:bg-primary-600",children:String(x+1).padStart(2,"0")}),t.jsx("div",{className:"absolute inset-0 bg-primary-500/20 opacity-0 group-hover:opacity-100 transition-opacity duration-300"})]}),t.jsx(g,{contentKey:`why_choose_feature_${h.id}_title`,translationKey:`home.whyChoose.feature${h.id}.title`,className:"text-2xl font-bold mb-4 text-primary-700 transition-colors duration-300 group-hover:text-primary-800",children:t.jsx("h3",{className:"text-2xl font-bold mb-4 text-primary-700 transition-colors duration-300 group-hover:text-primary-800",children:h.title})}),t.jsx(g,{contentKey:`why_choose_feature_${h.id}_description`,translationKey:`home.whyChoose.feature${h.id}.description`,className:"text-black leading-relaxed group-hover:text-gray-700 transition-colors duration-300",multiline:!0,children:t.jsx("p",{className:"text-black leading-relaxed group-hover:text-gray-700 transition-colors duration-300",children:h.description})})]},h.id))}),t.jsx("div",{className:"text-center mt-16",children:t.jsxs("div",{className:"bg-primary-600 rounded-2xl p-8 lg:p-12 text-white shadow-healing-strong",children:[t.jsx(g,{contentKey:"cta_title",translationKey:"page.home.cta.title",className:"text-2xl lg:text-3xl font-bold mb-8",children:t.jsx("h3",{className:"text-2xl lg:text-3xl font-bold mb-8",children:o("page.home.cta.title")})}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsxs($,{to:"/admission",className:"inline-flex items-center justify-center bg-white text-primary-700 hover:bg-gray-100 px-8 py-4 rounded-full font-semibold transition-all duration-300 hover:shadow-healing-medium transform hover:scale-105 group",children:[t.jsx(g,{contentKey:"cta_apply_text",translationKey:"page.home.cta.applyText",className:"",children:t.jsx("span",{children:o("page.home.cta.applyText")})}),t.jsx("svg",{className:"w-5 h-5 ml-2 transition-transform duration-300 group-hover:translate-x-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 8l4 4m0 0l-4 4m4-4H3"})})]}),t.jsxs($,{to:"/programs",className:"inline-flex items-center justify-center border-2 border-white text-white hover:bg-white hover:text-primary-700 px-8 py-4 rounded-full font-semibold transition-all duration-300 transform hover:scale-105 group relative overflow-hidden",children:[t.jsx(g,{contentKey:"cta_programs_text",translationKey:"page.home.cta.programsText",className:"",children:t.jsx("span",{children:o("page.home.cta.programsText")})}),t.jsx("svg",{className:"w-5 h-5 ml-2 transition-transform duration-300 group-hover:translate-x-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 8l4 4m0 0l-4 4m4-4H3"})})]})]})]})})]})}),t.jsx("section",{className:"py-20 lg:py-24 bg-gradient-to-br from-primary-50 via-secondary-50 to-accent-50 relative overflow-hidden",children:t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"mb-16",children:[t.jsx(g,{contentKey:"testimonials_title",translationKey:"home.testimonials.title",className:"text-3xl font-bold text-center mb-12 text-primary-700",children:t.jsx("h3",{className:"text-3xl font-bold text-center mb-12 text-primary-700",children:o("home.testimonials.title")})}),t.jsx(By,{reviews:[{id:1,imageSrc:"/images/Changes_Requested_Oct29_2025/student review 1.jpg",altText:"Student Review 1"},{id:2,imageSrc:"/images/Changes_Requested_Oct29_2025/student review 2.jpg",altText:"Student Review 2"},{id:3,imageSrc:"/images/Changes_Requested_Oct29_2025/student review 3.jpg",altText:"Student Review 3"},{id:4,imageSrc:"/images/Changes_Requested_Oct29_2025/student review 4.jpg",altText:"Student Review 4"},{id:5,imageSrc:"/images/Changes_Requested_Oct29_2025/student review 5.jpg",altText:"Student Review 5"},{id:6,imageSrc:"/images/Changes_Requested_Oct29_2025/student review 6.jpg",altText:"Student Review 6"}]})]})})})]})}function fi(){const[e,n]=w.useState([]),[a,i]=w.useState(!0),[r,s]=w.useState(0),o=async()=>{try{i(!0);const h=await $o();h.success&&h.content?(console.log("useWebsiteContent: Loading content from database:",h.content.length,"items"),n(h.content)):console.error("Error loading content:",h.error)}catch(h){console.error("Error loading content:",h)}finally{i(!1)}},c=()=>{console.log("useWebsiteContent: Force refresh triggered"),s(h=>h+1)};return w.useEffect(()=>{o();const h=()=>{console.log("useWebsiteContent: Custom refresh event detected"),o()};return window.addEventListener("cctcma-content-refresh",h),()=>{window.removeEventListener("cctcma-content-refresh",h)}},[r]),{content:e,isLoading:a,getContentValue:(h,x="")=>{const v=e.find(C=>C.key===h);return v&&v.value||x},getImageUrl:(h,x="")=>{const v=e.find(C=>C.key===h&&C.type==="image");return(v==null?void 0:v.value)||x},getSlides:h=>{const x=e.find(v=>v.key===h&&v.type==="slides");return(x==null?void 0:x.value)||[]},getFeatures:h=>{const x=e.find(v=>v.key===h&&v.type==="list");return(x==null?void 0:x.value)||[]},getContentItem:h=>e.find(x=>x.key===h),forceRefresh:c}}const U=e=>typeof e=="string",ka=()=>{let e,n;const a=new Promise((i,r)=>{e=i,n=r});return a.resolve=e,a.reject=n,a},jd=e=>e==null?"":""+e,Uy=(e,n,a)=>{e.forEach(i=>
vendor: 18,157 bytes, line 93
93{n[i]&&(a[i]=n[i])})},Wy=/###/g,Nd=e=>e&&e.indexOf("###")>-1?e.replace(Wy,"."):e,Sd=e=>!e||U(e),za=(e,n,a)=>{const i=U(n)?n.split("."):n;let r=0;for(;r<i.length-1;){if(Sd(e))return{};const s=Nd(i[r]);!e[s]&&a&&(e[s]=new a),Object.prototype.hasOwnProperty.call(e,s)?e=e[s]:e={},++r}return Sd(e)?{}:{obj:e,k:Nd(i[r])}},Td=(e,n,a)=>{const{obj:i,k:r}=za(e,n,Object);if(i!==void 0||n.length===1){i[r]=a;return}let s=n[n.length-1],o=n.slice(0,n.length-1),c=za(e,o,Object);for(;c.obj===void 0&&o.length;)s=`${o[o.length-1]}.${s}`,o=o.slice(0,o.length-1),c=za(e,o,Object),c&&c.obj&&typeof c.obj[`${c.k}.${s}`]<"u"&&(c.obj=void 0);c.obj[`${c.k}.${s}`]=a},Vy=(e,n,a,i)=>{const{obj:r,k:s}=za(e,n,Object);r[s]=r[s]||[],r[s].push(a)},Er=(e,n)=>{const{obj:a,k:i}=za(e,n);if(a)return a[i]},Gy=(e,n,a)=>{const i=Er(e,a);return i!==void 0?i:Er(n,a)},Lp=(e,n,a)=>{for(const i in n)i!=="__proto__"&&i!=="constructor"&&(i in e?U(e[i])||e[i]instanceof String||U(n[i])||n[i]instanceof String?a&&(e[i]=n[i]):Lp(e[i],n[i],a):e[i]=n[i]);return e},An=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Jy={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const Yy=e=>U(e)?e.replace(/[&<>"'\/]/g,n=>Jy[n]):e;class Qy{constructor(n){this.capacity=n,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(n){const a=this.regExpMap.get(n);if(a!==void 0)return a;const i=new RegExp(n);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(n,i),this.regExpQueue.push(n),i}}const Zy=[" ",",","?","!",";"],Xy=new Qy(20),ex=(e,n,a)=>{n=n||"",a=a||"";const i=Zy.filter(o=>n.indexOf(o)<0&&a.indexOf(o)<0);if(i.length===0)return!0;const r=Xy.getRegExp(`(${i.map(o=>o==="?"?"\\?":o).join("|")})`);let s=!r.test(e);if(!s){const o=e.indexOf(a);o>0&&!r.test(e.substring(0,o))&&(s=!0)}return s},Uo=function(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[n])return e[n];const i=n.split(a);let r=e;for(let s=0;s<i.length;){if(!r||typeof r!="object")return;let o,c="";for(let l=s;l<i.length;++l)if(l!==s&&(c+=a),c+=i[l],o=r[c],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&l<i.length-1)continue;s+=l-s+1;break}r=o}return r},Lr=e=>e&&e.replace("_","-"),tx={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,n){console&&console[e]&&console[e].apply(console,n)}};class Dr{constructor(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(n,a)}init(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=a.prefix||"i18next:",this.logger=n||tx,this.options=a,this.debug=a.debug}log(){for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return this.forward(a,"log","",!0)}warn(){for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return this.forward(a,"warn","",!0)}error(){for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return this.forward(a,"error","")}deprecate(){for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];return this.forward(a,"warn","WARNING DEPRECATED: ",!0)}forward(n,a,i,r){return r&&!this.debug?null:(U(n[0])&&(n[0]=`${i}${this.prefix} ${n[0]}`),this.logger[a](n))}create(n){return new Dr(this.logger,{prefix:`${this.prefix}:${n}:`,...this.options})}clone(n){return n=n||this.options,n.prefix=n.prefix||this.prefix,new Dr(this.logger,n)}}var Ct=new Dr;class as{constructor(){this.observers={}}on(n,a){return n.split(" ").forEach(i=>{this.observers[i]||(this.observers[i]=new Map);const r=this.observers[i].get(a)||0;this.observers[i].set(a,r+1)}),this}off(n,a){if(this.observers[n]){if(!a){delete this.observers[n];return}this.observers[n].delete(a)}}emit(n){for(var a=arguments.length,i=new Array(a>1?a-1:0),r=1;r<a;r++)i[r-1]=arguments[r];this.observers[n]&&Array.from(this.observers[n].entries()).forEach(o=>{let[c,l]=o;for(let d=0;d<l;d++)c(...i)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(o=>{let[c,l]=o;for(let d=0;d<l;d++)c.apply(c,[n,...i])})}}class kd extends as{constructor(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=n||{},this.options=a,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(n){this.options.ns.indexOf(n)<0&&this.options.ns.push(n)}removeNamespaces(n){const a=this.options.ns.indexOf(n);a>-1&&this.options.ns.splice(a,1)}getResource(n,a,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,o=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let c;n.indexOf(".")>-1?c=n.split("."):(c=[n,a],i&&(Array.isArray(i)?c.push(...i):U(i)&&s?c.push(...i.split(s)):c.push(i)));const l=Er(this.data,c);return!l&&!a&&!i&&n.indexOf(".")>-1&&(n=c[0],a=c[1],i=c.slice(2).join(".")),l||!o||!U(i)?l:Uo(this.data&&this.data[n]&&this.data[n][a],i,s)}addResource(n,a,i,r){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const o=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let c=[n,a];i&&(c=c.concat(o?i.split(o):i)),n.indexOf(".")>-1&&(c=n.split("."),r=a,a=c[1]),this.addNamespaces(a),Td(this.data,c,r),s.silent||this.emit("added",n,a,i,r)}addResources(n,a,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const s in i)(U(i[s])||Array.isArray(i[s]))&&this.addResource(n,a,s,i[s],{silent:!0});r.silent||this.emit("added",n,a,i)}addResourceBundle(n,a,i,r,s){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},c=[n,a];n.indexOf(".")>-1&&(c=n.split("."),r=i,i=a,a=c[1]),this.addNamespaces(a);let l=Er(this.data,c)||{};o.skipCopy||(i=JSON.parse(JSON.stringify(i))),r?Lp(l,i,s):l={...l,...i},Td(this.data,c,l),o.silent||this.emit("added",n,a,i)}removeResourceBundle(n,a){this.hasResourceBundle(n,a)&&delete this.data[n][a],this.removeNamespaces(a),this.emit("removed",n,a)}hasResourceBundle(n,a){return this.getResource(n,a)!==void 0}getResourceBundle(n,a){return a||(a=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(n,a)}:this.getResource(n,a)}getDataByLanguage(n){return this.data[n]}hasLanguageSomeTranslations(n){const a=this.getDataByLanguage(n);return!!(a&&Object.keys(a)||[]).find(r=>a[r]&&Object.keys(a[r]).length>0)}toJSON(){return this.data}}var Dp={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,n,a,i,r){return e.forEach(s=>{this.processors[s]&&(n=this.processors[s].process(n,a,i,r))}),n}};const Md={};class Ir extends as{constructor(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),Uy(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],n,this),this.options=a,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Ct.create("translator")}changeLanguage(n){n&&(this.language=n)}exists(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(n==null)return!1;const i=this.resolve(n,a);return i&&i.res!==void 0}extractFromKey(n,a){let i=a.nsSeparator!==void 0?a.nsSeparator:this.options.nsSeparator;i===void 0&&(i=":");const r=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator;let s=a.ns||this.options.defaultNS||[];const o=i&&n.indexOf(i)>-1,c=!this.options.userDefinedKeySeparator&&!a.keySeparator&&!this.options.userDefinedNsSeparator&&!a.nsSeparator&&!ex(n,i,r);if(o&&!c){const l=n.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:n,namespaces:U(s)?[s]:s};const d=n.split(i);(i!==r||i===r&&this.options.ns.indexOf(d[0])>-1)&&(s=d.shift()),n=d.join(r)}return{key:n,namespaces:U(s)?[s]:s}}translate(n,a,i){if(typeof a!="object"&&this.options.overloadTranslationOptionHandler&&(a=this.options.overloadTranslationOptionHandler(arguments)),typeof a=="object"&&(a={...a}),a||(a={}),n==null)return"";Array.isArray(n)||(n=[String(n)]);const r=a.returnDetails!==void 0?a.returnDetails:this.options.returnDetails,s=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(n[n.length-1],a),l=c[c.length-1],d=a.lng||this.language,p=a.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d&&d.toLowerCase()==="cimode"){if(p){const N=a.nsSeparator||this.options.nsSeparator;return r?{res:`${l}${N}${o}`,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(a)}:`${l}${N}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(a)}:o}const u=this.resolve(n,a);let m=u&&u.res;const h=u&&u.usedKey||o,x=u&&u.exactUsedKey||o,v=Object.prototype.toString.apply(m),C=["[object Number]","[object Function]","[object RegExp]"],f=a.joinArrays!==void 0?a.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject,y=!U(m)&&typeof m!="boolean"&&typeof m!="number";if(b&&m&&y&&C.indexOf(v)<0&&!(U(f)&&Array.isArray(m))){if(!a.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const N=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,m,{...a,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return r?(u.res=N,u.usedParams=this.getUsedParamsDetails(a),u):N}if(s){const N=Array.isArray(m),S=N?[]:{},k=N?x:h;for(const T in m)if(Object.prototype.hasOwnProperty.call(m,T)){const I=`${k}${s}${T}`;S[T]=this.translate(I,{...a,joinArrays:!1,ns:c}),S[T]===I&&(S[T]=m[T])}m=S}}else if(b&&U(f)&&Array.isArray(m))m=m.join(f),m&&(m=this.extendTranslation(m,n,a,i));else{let N=!1,S=!1;const k=a.count!==void 0&&!U(a.count),T=Ir.hasDefaultValue(a),I=k?this.pluralResolver.getSuffix(d,a.count,a):"",A=a.ordinal&&k?this.pluralResolver.getSuffix(d,a.count,{ordinal:!1}):"",D=k&&!a.ordinal&&a.count===0&&this.pluralResolver.shouldUseIntlApi(),H=D&&a[`defaultValue${this.options.pluralSeparator}zero`]||a[`defaultValue${I}`]||a[`defaultValue${A}`]||a.defaultValue;!this.isValidLookup(m)&&T&&(N=!0,m=H),this.isValidLookup(m)||(S=!0,m=o);const Q=(a.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&S?void 0:m,B=T&&H!==m&&this.options.updateMissing;if(S||N||B){if(this.logger.log(B?"updateKey":"missingKey",d,l,o,B?H:m),s){const M=this.resolve(o,{...a,keySeparator:!1});M&&M.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let L=[];const _=this.languageUtils.getFallbackCodes(this.options.fallbackLng,a.lng||this.language);if(this.options.saveMissingTo==="fallback"&&_&&_[0])for(let M=0;M<_.length;M++)L.push(_[M]);else this.options.saveMissingTo==="all"?L=this.languageUtils.toResolveHierarchy(a.lng||this.language):L.push(a.lng||this.language);const R=(M,F,z)=>{const q=T&&z!==m?z:Q;this.options.missingKeyHandler?this.options.missingKeyHandler(M,l,F,q,B,a):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(M,l,F,q,B,a),this.emit("missingKey",M,l,F,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&k?L.forEach(M=>{const F=this.pluralResolver.getSuffixes(M,a);D&&a[`defaultValue${this.options.pluralSeparator}zero`]&&F.indexOf(`${this.options.pluralSeparator}zero`)<0&&F.push(`${this.options.pluralSeparator}zero`),F.forEach(z=>{R([M],o+z,a[`defaultValue${z}`]||H)})}):R(L,o,H))}m=this.extendTranslation(m,n,a,u,i),S&&m===o&&this.options.appendNamespaceToMissingKey&&(m=`${l}:${o}`),(S||N)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${o}`:o,N?m:void 0):m=this.options.parseMissingKeyHandler(m))}return r?(u.res=m,u.usedParams=this.getUsedParamsDetails(a),u):m}extendTranslation(n,a,i,r,s){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)n=this.i18nFormat.parse(n,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const d=U(n)&&(i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let p;if(d){const m=n.match(this.interpolator.nestingRegexp);p=m&&m.length}let u=i.replace&&!U(i.replace)?i.replace:i;if(this.options.interpolation.defaultVariables&&(u={...this.options.interpolation.defaultVariables,...u}),n=this.interpolator.interpolate(n,u,i.lng||this.language||r.usedLng,i),d){const m=n.match(this.interpolator.nestingRegexp),h=m&&m.length;p<h&&(i.nest=!1)}!i.lng&&this.options.compatibilityAPI!=="v1"&&r&&r.res&&(i.lng=this.language||r.usedLng),i.nest!==!1&&(n=this.interpolator.nest(n,function(){for(var m=arguments.length,h=new Array(m),x=0;x<m;x++)h[x]=arguments[x];return s&&s[0]===h[0]&&!i.context?(o.logger.warn(`It seems you are nesting recursively key: ${h[0]} in key: ${a[0]}`),null):o.translate(...h,a)},i)),i.interpolation&&this.interpolator.reset()}const c=i.postProcess||this.options.postProcess,l=U(c)?[c]:c;return n!=null&&l&&l.length&&i.applyPostProcessor!==!1&&(n=Dp.handle(l,n,a,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(i)},...i}:i,this)),n}resolve(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i,r,s,o,c;return U(n)&&(n=[n]),n.forEach(l=>{if(this.isValidLookup(i))return;const d=this.extractFromKey(l,a),p=d.key;r=p;let u=d.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const m=a.count!==void 0&&!U(a.count),h=m&&!a.ordinal&&a.count===0&&this.pluralResolver.shouldUseIntlApi(),x=a.context!==void 0&&(U(a.context)||typeof a.context=="number")&&a.context!=="",v=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);u.forEach(C=>{this.isValidLookup(i)||(c=C,!Md[`${v[0]}-${C}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(c)&&(Md[`${v[0]}-${C}`]=!0,this.logger.warn(`key "${r}" for languages "${v.join(", ")}" won't get resolved as namespace "${c}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(f=>{if(this.isValidLookup(i))return;o=f;const b=[p];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,p,f,C,a);else{let N;m&&(N=this.pluralResolver.getSuffix(f,a.count,a));const S=`${this.options.pluralSeparator}zero`,k=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(m&&(b.push(p+N),a.ordinal&&N.indexOf(k)===0&&b.push(p+N.replace(k,this.options.pluralSeparator)),h&&b.push(p+S)),x){const T=`${p}${this.options.contextSeparator}${a.context}`;b.push(T),m&&(b.push(T+N),a.ordinal&&N.indexOf(k)===0&&b.push(T+N.replace(k,this.options.pluralSeparator)),h&&b.push(T+S))}}let y;for(;y=b.pop();)this.isValidLookup(i)||(s=y,i=this.getResource(f,C,y,a))}))})}),{res:i,usedKey:r,exactUsedKey:s,usedLng:o,usedNS:c}}isValidLookup(n){return n!==void 0&&!(!this.options.returnNull&&n===null)&&!(!this.options.returnEmptyString&&n==="")}getResource(n,a,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(n,a,i,r):this.resourceStore.getResource(n,a,i,r)}getUsedParamsDetails(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const a=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=n.replace&&!U(n.replace);let r=i?n.replace:n;if(i&&typeof n.count<"u"&&(r.count=n.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!i){r={...r};for(const s of a)delete r[s]}return r}static hasDefaultValue(n){const a="defaultValue";for(const i in n)if(Object.prototype.hasOwnProperty.call(n,i)&&a===i.substring(0,a.length)&&n[i]!==void 0)return!0;return!1}}const Rs=e=>e.charAt(0).toUpperCase()+e.slice(1);class Ad{constructor(n){this.options=n,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Ct.create("languageUtils")}getScriptPartFromCode(n){if(n=Lr(n),!n||n.indexOf("-")<0)return null;const a=n.split("-");return a.length===2||(a.pop(),a[a.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(a.join("-"))}getLanguagePartFromCode(n){if(n=Lr(n),!n||n.indexOf("-")<0)return n;const a=n.split("-");return this.formatLanguageCode(a[0])}formatLanguageCode(n){if(U(n)&&n.indexOf("-")>-1){if(typeof Intl<"u"&&typeof Intl.getCanonicalLocales<"u")try{let r=Intl.getCanonicalLocales(n)[0];if(r&&this.options.lowerCaseLng&&(r=r.toLowerCase()),r)return r}catch{}const a=["hans","hant","latn","cyrl","cans","mong","arab"];let i=n.split("-");return this.options.lowerCaseLng?i=i.map(r=>r.toLowerCase()):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),a.indexOf(i[1].toLowerCase())>-1&&(i[1]=Rs(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),a.indexOf(i[1].toLowerCase())>-1&&(i[1]=Rs(i[1].toLowerCase())),a.indexOf(i[2].toLowerCase())>-1&&(i[2]=Rs(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?n.toLowerCase():n}isSupportedCode(n){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(n=this.getLanguagePartFromCode(n)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(n)>-1}getBestMatchFromCodes(n){if(!n)return null;let a;
vendor: 1,394 bytes, line 93
93return n.forEach(i=>{if(a)return;const r=this.formatLanguageCode(i);(!this.options.supportedLngs||this.isSupportedCode(r))&&(a=r)}),!a&&this.options.supportedLngs&&n.forEach(i=>{if(a)return;const r=this.getLanguagePartFromCode(i);if(this.isSupportedCode(r))return a=r;a=this.options.supportedLngs.find(s=>{if(s===r)return s;if(!(s.indexOf("-")<0&&r.indexOf("-")<0)&&(s.indexOf("-")>0&&r.indexOf("-")<0&&s.substring(0,s.indexOf("-"))===r||s.indexOf(r)===0&&r.length>1))return s})}),a||(a=this.getFallbackCodes(this.options.fallbackLng)[0]),a}getFallbackCodes(n,a){if(!n)return[];if(typeof n=="function"&&(n=n(a)),U(n)&&(n=[n]),Array.isArray(n))return n;if(!a)return n.default||[];let i=n[a];return i||(i=n[this.getScriptPartFromCode(a)]),i||(i=n[this.formatLanguageCode(a)]),i||(i=n[this.getLanguagePartFromCode(a)]),i||(i=n.default),i||[]}toResolveHierarchy(n,a){const i=this.getFallbackCodes(a||this.options.fallbackLng||[],n),r=[],s=o=>{o&&(this.isSupportedCode(o)?r.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return U(n)&&(n.indexOf("-")>-1||n.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(n)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(n)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(n))):U(n)&&s(this.formatLanguageCode(n)),i.forEac
vendor: 30,665 bytes, line 93
93h(o=>{r.indexOf(o)<0&&s(this.formatLanguageCode(o))}),r}}let nx=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],ax={1:e=>+(e>1),2:e=>+(e!=1),3:e=>0,4:e=>e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2,5:e=>e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5,6:e=>e==1?0:e>=2&&e<=4?1:2,7:e=>e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2,8:e=>e==1?0:e==2?1:e!=8&&e!=11?2:3,9:e=>+(e>=2),10:e=>e==1?0:e==2?1:e<7?2:e<11?3:4,11:e=>e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3,12:e=>+(e%10!=1||e%100==11),13:e=>+(e!==0),14:e=>e==1?0:e==2?1:e==3?2:3,15:e=>e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2,16:e=>e%10==1&&e%100!=11?0:e!==0?1:2,17:e=>e==1||e%10==1&&e%100!=11?0:1,18:e=>e==0?0:e==1?1:2,19:e=>e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3,20:e=>e==1?0:e==0||e%100>0&&e%100<20?1:2,21:e=>e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0,22:e=>e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3};const ix=["v1","v2","v3"],rx=["v4"],Pd={zero:0,one:1,two:2,few:3,many:4,other:5},sx=()=>{const e={};return nx.forEach(n=>{n.lngs.forEach(a=>{e[a]={numbers:n.nr,plurals:ax[n.fc]}})}),e};class ox{constructor(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=n,this.options=a,this.logger=Ct.create("pluralResolver"),(!this.options.compatibilityJSON||rx.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=sx(),this.pluralRulesCache={}}addRule(n,a){this.rules[n]=a}clearCache(){this.pluralRulesCache={}}getRule(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi()){const i=Lr(n==="dev"?"en":n),r=a.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:i,type:r});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let o;try{o=new Intl.PluralRules(i,{type:r})}catch{if(!n.match(/-|_/))return;const l=this.languageUtils.getLanguagePartFromCode(n);o=this.getRule(l,a)}return this.pluralRulesCache[s]=o,o}return this.rules[n]||this.rules[this.languageUtils.getLanguagePartFromCode(n)]}needsPlural(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(n,a);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}getPluralFormsOfKey(n,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(n,i).map(r=>`${a}${r}`)}getSuffixes(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(n,a);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort((r,s)=>Pd[r]-Pd[s]).map(r=>`${this.options.prepend}${a.ordinal?`ordinal${this.options.prepend}`:""}${r}`):i.numbers.map(r=>this.getSuffix(n,r,a)):[]}getSuffix(n,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=this.getRule(n,i);return r?this.shouldUseIntlApi()?`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${r.select(a)}`:this.getSuffixRetroCompatible(r,a):(this.logger.warn(`no plural rule found for: ${n}`),"")}getSuffixRetroCompatible(n,a){const i=n.noAbs?n.plurals(a):n.plurals(Math.abs(a));let r=n.numbers[i];this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1&&(r===2?r="plural":r===1&&(r=""));const s=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return this.options.compatibilityJSON==="v1"?r===1?"":typeof r=="number"?`_plural_${r.toString()}`:s():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&n.numbers.length===2&&n.numbers[0]===1?s():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}shouldUseIntlApi(){return!ix.includes(this.options.compatibilityJSON)}}const _d=function(e,n,a){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=Gy(e,n,a);return!s&&r&&U(a)&&(s=Uo(e,a,i),s===void 0&&(s=Uo(n,a,i))),s},Os=e=>e.replace(/\$/g,"$$$$");class lx{constructor(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Ct.create("interpolator"),this.options=n,this.format=n.interpolation&&n.interpolation.format||(a=>a),this.init(n)}init(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n.interpolation||(n.interpolation={escapeValue:!0});const{escape:a,escapeValue:i,useRawValueToEscape:r,prefix:s,prefixEscaped:o,suffix:c,suffixEscaped:l,formatSeparator:d,unescapeSuffix:p,unescapePrefix:u,nestingPrefix:m,nestingPrefixEscaped:h,nestingSuffix:x,nestingSuffixEscaped:v,nestingOptionsSeparator:C,maxReplaces:f,alwaysFormat:b}=n.interpolation;this.escape=a!==void 0?a:Yy,this.escapeValue=i!==void 0?i:!0,this.useRawValueToEscape=r!==void 0?r:!1,this.prefix=s?An(s):o||"{{",this.suffix=c?An(c):l||"}}",this.formatSeparator=d||",",this.unescapePrefix=p?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":p||"",this.nestingPrefix=m?An(m):h||An("$t("),this.nestingSuffix=x?An(x):v||An(")"),this.nestingOptionsSeparator=C||",",this.maxReplaces=f||1e3,this.alwaysFormat=b!==void 0?b:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const n=(a,i)=>a&&a.source===i?(a.lastIndex=0,a):new RegExp(i,"g");this.regexp=n(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=n(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=n(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(n,a,i,r){let s,o,c;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},d=h=>{if(h.indexOf(this.formatSeparator)<0){const f=_d(a,l,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(f,void 0,i,{...r,...a,interpolationkey:h}):f}const x=h.split(this.formatSeparator),v=x.shift().trim(),C=x.join(this.formatSeparator).trim();return this.format(_d(a,l,v,this.options.keySeparator,this.options.ignoreJSONStructure),C,i,{...r,...a,interpolationkey:v})};this.resetRegExp();const p=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,u=r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>Os(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?Os(this.escape(h)):Os(h)}].forEach(h=>{for(c=0;s=h.regex.exec(n);){const x=s[1].trim();if(o=d(x),o===void 0)if(typeof p=="function"){const C=p(n,s,r);o=U(C)?C:""}else if(r&&Object.prototype.hasOwnProperty.call(r,x))o="";else if(u){o=s[0];continue}else this.logger.warn(`missed to pass in variable ${x} for interpolating ${n}`),o="";else!U(o)&&!this.useRawValueToEscape&&(o=jd(o));const v=h.safeValue(o);if(n=n.replace(s[0],v),u?(h.regex.lastIndex+=o.length,h.regex.lastIndex-=s[0].length):h.regex.lastIndex=0,c++,c>=this.maxReplaces)break}}),n}nest(n,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,s,o;const c=(l,d)=>{const p=this.nestingOptionsSeparator;if(l.indexOf(p)<0)return l;const u=l.split(new RegExp(`${p}[ ]*{`));let m=`{${u[1]}`;l=u[0],m=this.interpolate(m,o);const h=m.match(/'/g),x=m.match(/"/g);(h&&h.length%2===0&&!x||x.length%2!==0)&&(m=m.replace(/'/g,'"'));try{o=JSON.parse(m),d&&(o={...d,...o})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,v),`${l}${p}${m}`}return o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1&&delete o.defaultValue,l};for(;r=this.nestingRegexp.exec(n);){let l=[];o={...i},o=o.replace&&!U(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let d=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const p=r[1].split(this.formatSeparator).map(u=>u.trim());r[1]=p.shift(),l=p,d=!0}if(s=a(c.call(this,r[1].trim(),o),o),s&&r[0]===n&&!U(s))return s;U(s)||(s=jd(s)),s||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${n}`),s=""),d&&(s=l.reduce((p,u)=>this.format(p,u,i.lng,{...i,interpolationkey:r[1].trim()}),s.trim())),n=n.replace(r[0],s),this.regexp.lastIndex=0}return n}}const cx=e=>{let n=e.toLowerCase().trim();const a={};if(e.indexOf("(")>-1){const i=e.split("(");n=i[0].toLowerCase().trim();const r=i[1].substring(0,i[1].length-1);n==="currency"&&r.indexOf(":")<0?a.currency||(a.currency=r.trim()):n==="relativetime"&&r.indexOf(":")<0?a.range||(a.range=r.trim()):r.split(";").forEach(o=>{if(o){const[c,...l]=o.split(":"),d=l.join(":").trim().replace(/^'+|'+$/g,""),p=c.trim();a[p]||(a[p]=d),d==="false"&&(a[p]=!1),d==="true"&&(a[p]=!0),isNaN(d)||(a[p]=parseInt(d,10))}})}return{formatName:n,formatOptions:a}},Pn=e=>{const n={};return(a,i,r)=>{let s=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(s={...s,[r.interpolationkey]:void 0});const o=i+JSON.stringify(s);let c=n[o];return c||(c=e(Lr(i),r),n[o]=c),c(a)}};class dx{constructor(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Ct.create("formatter"),this.options=n,this.formats={number:Pn((a,i)=>{const r=new Intl.NumberFormat(a,{...i});return s=>r.format(s)}),currency:Pn((a,i)=>{const r=new Intl.NumberFormat(a,{...i,style:"currency"});return s=>r.format(s)}),datetime:Pn((a,i)=>{const r=new Intl.DateTimeFormat(a,{...i});return s=>r.format(s)}),relativetime:Pn((a,i)=>{const r=new Intl.RelativeTimeFormat(a,{...i});return s=>r.format(s,i.range||"day")}),list:Pn((a,i)=>{const r=new Intl.ListFormat(a,{...i});return s=>r.format(s)})},this.init(n)}init(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=a.interpolation.formatSeparator||","}add(n,a){this.formats[n.toLowerCase().trim()]=a}addCached(n,a){this.formats[n.toLowerCase().trim()]=Pn(a)}format(n,a,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const s=a.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(c=>c.indexOf(")")>-1)){const c=s.findIndex(l=>l.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,c)].join(this.formatSeparator)}return s.reduce((c,l)=>{const{formatName:d,formatOptions:p}=cx(l);if(this.formats[d]){let u=c;try{const m=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},h=m.locale||m.lng||r.locale||r.lng||i;u=this.formats[d](c,h,{...p,...r,...m})}catch(m){this.logger.warn(m)}return u}else this.logger.warn(`there was no format function for ${d}`);return c},n)}}const ux=(e,n)=>{e.pending[n]!==void 0&&(delete e.pending[n],e.pendingCount--)};class mx extends as{constructor(n,a,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=n,this.store=a,this.services=i,this.languageUtils=i.languageUtils,this.options=r,this.logger=Ct.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(i,r.backend,r)}queueLoad(n,a,i,r){const s={},o={},c={},l={};return n.forEach(d=>{let p=!0;a.forEach(u=>{const m=`${d}|${u}`;!i.reload&&this.store.hasResourceBundle(d,u)?this.state[m]=2:this.state[m]<0||(this.state[m]===1?o[m]===void 0&&(o[m]=!0):(this.state[m]=1,p=!1,o[m]===void 0&&(o[m]=!0),s[m]===void 0&&(s[m]=!0),l[u]===void 0&&(l[u]=!0)))}),p||(c[d]=!0)}),(Object.keys(s).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(s),pending:Object.keys(o),toLoadLanguages:Object.keys(c),toLoadNamespaces:Object.keys(l)}}loaded(n,a,i){const r=n.split("|"),s=r[0],o=r[1];a&&this.emit("failedLoading",s,o,a),!a&&i&&this.store.addResourceBundle(s,o,i,void 0,void 0,{skipCopy:!0}),this.state[n]=a?-1:2,a&&i&&(this.state[n]=0);const c={};this.queue.forEach(l=>{Vy(l.loaded,[s],o),ux(l,n),a&&l.errors.push(a),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(d=>{c[d]||(c[d]={});const p=l.loaded[d];p.length&&p.forEach(u=>{c[d][u]===void 0&&(c[d][u]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",c),this.queue=this.queue.filter(l=>!l.done)}read(n,a,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!n.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:n,ns:a,fcName:i,tried:r,wait:s,callback:o});return}this.readingCalls++;const c=(d,p)=>{if(this.readingCalls--,this.waitingReads.length>0){const u=this.waitingReads.shift();this.read(u.lng,u.ns,u.fcName,u.tried,u.wait,u.callback)}if(d&&p&&r<this.maxRetries){setTimeout(()=>{this.read.call(this,n,a,i,r+1,s*2,o)},s);return}o(d,p)},l=this.backend[i].bind(this.backend);if(l.length===2){try{const d=l(n,a);d&&typeof d.then=="function"?d.then(p=>c(null,p)).catch(c):c(null,d)}catch(d){c(d)}return}return l(n,a,c)}prepareLoading(n,a){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();U(n)&&(n=this.languageUtils.toResolveHierarchy(n)),U(a)&&(a=[a]);const s=this.queueLoad(n,a,i,r);if(!s.toLoad.length)return s.pending.length||r(),null;s.toLoad.forEach(o=>{this.loadOne(o)})}load(n,a,i){this.prepareLoading(n,a,{},i)}reload(n,a,i){this.prepareLoading(n,a,{reload:!0},i)}loadOne(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const i=n.split("|"),r=i[0],s=i[1];this.read(r,s,"read",void 0,void 0,(o,c)=>{o&&this.logger.warn(`${a}loading namespace ${s} for language ${r} failed`,o),!o&&c&&this.logger.log(`${a}loaded namespace ${s} for language ${r}`,c),this.loaded(n,o,c)})}saveMissing(n,a,i,r,s){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},c=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(a)){this.logger.warn(`did not save key "${i}" as the namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(i==null||i==="")){if(this.backend&&this.backend.create){const l={...o,isUpdate:s},d=this.backend.create.bind(this.backend);if(d.length<6)try{let p;d.length===5?p=d(n,a,i,r,l):p=d(n,a,i,r),p&&typeof p.then=="function"?p.then(u=>c(null,u)).catch(c):c(null,p)}catch(p){c(p)}else d(n,a,i,r,c,l)}!n||!n[0]||this.store.addResource(n[0],a,i,r)}}}const Ed=()=>({debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let n={};if(typeof e[1]=="object"&&(n=e[1]),U(e[1])&&(n.defaultValue=e[1]),U(e[2])&&(n.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const a=e[3]||e[2];Object.keys(a).forEach(i=>{n[i]=a[i]})}return n},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),Ld=e=>(U(e.ns)&&(e.ns=[e.ns]),U(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),U(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e),Bi=()=>{},px=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(a=>{typeof e[a]=="function"&&(e[a]=e[a].bind(e))})};class oi extends as{constructor(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Ld(n),this.services={},this.logger=Ct,this.modules={external:[]},px(this),a&&!this.isInitialized&&!n.isClone){if(!this.options.initImmediate)return this.init(n,a),this;setTimeout(()=>{this.init(n,a)},0)}}init(){var n=this;let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof a=="function"&&(i=a,a={}),!a.defaultNS&&a.defaultNS!==!1&&a.ns&&(U(a.ns)?a.defaultNS=a.ns:a.ns.indexOf("translation")<0&&(a.defaultNS=a.ns[0]));const r=Ed();this.options={...r,...this.options,...Ld(a)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),a.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=a.keySeparator),a.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=a.nsSeparator);const s=p=>p?typeof p=="function"?new p:p:null;if(!this.options.isClone){this.modules.logger?Ct.init(s(this.modules.logger),this.options):Ct.init(null,this.options);let p;this.modules.formatter?p=this.modules.formatter:typeof Intl<"u"&&(p=dx);const u=new Ad(this.options);this.store=new kd(this.options.resources,this.options);const m=this.services;m.logger=Ct,m.resourceStore=this.store,m.languageUtils=u,m.pluralResolver=new ox(u,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),p&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(m.formatter=s(p),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new lx(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new mx(s(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(h){for(var x=arguments.length,v=new Array(x>1?x-1:0),C=1;C<x;C++)v[C-1]=arguments[C];n.emit(h,...v)}),this.modules.languageDetector&&(m.languageDetector=s(this.modules.languageDetector),m.languageDetector.init&&m.languageDetector.init(m,this.options.detection,this.options)),this.modules.i18nFormat&&(m.i18nFormat=s(this.modules.i18nFormat),m.i18nFormat.init&&m.i18nFormat.init(this)),this.translator=new Ir(this.services,this.options),this.translator.on("*",function(h){for(var x=arguments.length,v=new Array(x>1?x-1:0),C=1;C<x;C++)v[C-1]=arguments[C];n.emit(h,...v)}),this.modules.external.forEach(h=>{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,i||(i=Bi),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const p=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);p.length>0&&p[0]!=="dev"&&(this.options.lng=p[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(p=>{this[p]=function(){return n.store[p](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(p=>{this[p]=function(){return n.store[p](...arguments),n}});const l=ka(),d=()=>{const p=(u,m)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(m),i(u,m)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return p(null,this.t.bind(this));this.changeLanguage(this.options.lng,p)};return this.options.resources||!this.options.initImmediate?d():setTimeout(d,0),l}loadResources(n){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bi;const r=U(n)?n:this.language;if(typeof n=="function"&&(i=n),!this.options.resources||this.options.partialBundledLanguages){if(r&&r.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return i();const s=[],o=c=>{if(!c||c==="cimode")return;this.services.languageUtils.toResolveHierarchy(c).forEach(d=>{d!=="cimode"&&s.indexOf(d)<0&&s.push(d)})};r?o(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>o(l)),this.options.preload&&this.options.preload.forEach(c=>o(c)),this.services.backendConnector.load(s,this.options.ns,c=>{!c&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),i(c)})}else i(null)}reloadResources(n,a,i){const r=ka();return typeof n=="function"&&(i=n,n=void 0),typeof a=="function"&&(i=a,a=void 0),n||(n=this.languages),a||(a=this.options.ns),i||(i=Bi),this.services.backendConnector.reload(n,a,s=>{r.resolve(),i(s)}),r}use(n){if(!n)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!n.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return n.type==="backend"&&(this.modules.backend=n),(n.type==="logger"||n.log&&n.warn&&n.error)&&(this.modules.logger=n),n.type==="languageDetector"&&(this.modules.languageDetector=n),n.type==="i18nFormat"&&(this.modules.i18nFormat=n),n.type==="postProcessor"&&Dp.addPostProcessor(n),n.type==="formatter"&&(this.modules.formatter=n),n.type==="3rdParty"&&this.modules.external.push(n),this}setResolvedLanguage(n){if(!(!n||!this.languages)&&!(["cimode","dev"].indexOf(n)>-1))for(let a=0;a<this.languages.length;a++){const i=this.languages[a];if(!(["cimode","dev"].indexOf(i)>-1)&&this.store.hasLanguageSomeTranslations(i)){this.resolvedLanguage=i;break}}}changeLanguage(n,a){var i=this;this.isLanguageChangingTo=n;const r=ka();this.emit("languageChanging",n);const s=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},o=(l,d)=>{d?(s(d),this.translator.changeLanguage(d),this.isLanguageChangingTo=void 0,this.emit("languageChanged",d),this.logger.log("languageChanged",d)):this.isLanguageChangingTo=void 0,r.resolve(function(){return i.t(...arguments)}),a&&a(l,function(){return i.t(...arguments)})},c=l=>{!n&&!l&&this.services.languageDetector&&(l=[]);const d=U(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);d&&(this.language||s(d),this.translator.language||this.translator.changeLanguage(d),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(d)),this.loadResources(d,p=>{o(p,d)})};return!n&&this.services.languageDetector&&!this.services.languageDetector.async?c(this.services.languageDetector.detect()):!n&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(c):this.services.languageDetector.detect(c):c(n),r}getFixedT(n,a,i){var r=this;const s=function(o,c){let l;if(typeof c!="object"){for(var d=arguments.length,p=new Array(d>2?d-2:0),u=2;u<d;u++)p[u-2]=arguments[u];l=r.options.overloadTranslationOptionHandler([o,c].concat(p))}else l={...c};l.lng=l.lng||s.lng,l.lngs=l.lngs||s.lngs,l.ns=l.ns||s.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||i||s.keyPrefix);const m=r.options.keySeparator||".";let h;return l.keyPrefix&&Array.isArray(o)?h=o.map(x=>`${l.keyPrefix}${m}${x}`):h=l.keyPrefix?`${l.keyPrefix}${m}${o}`:o,r.t(h,l)};return U(n)?s.lng=n:s.lngs=n,s.ns=a,s.keyPrefix=i,s}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(n){this.options.defaultNS=n}hasLoadedNamespace(n){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const i=a.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const o=(c,l)=>{const d=this.services.backendConnector.state[`${c}|${l}`];return d===-1||d===0||d===2};if(a.precheck){const c=a.precheck(this,o);if(c!==void 0)return c}return!!(this.hasResourceBundle(i,n)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(i,n)&&(!r||o(s,n)))}loadNamespaces(n,a){const i=ka();return this.options.ns?(U(n)&&(n=[n]),n.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{i.resolve(),a&&a(r)}),i):(a&&a(),Promise.resolve())}loadLanguages(n,a){const i=ka();U(n)&&(n=[n]);const r=this.options.preload||[],s=n.filter(o=>r.indexOf(o)<0&&this.services.languageUtils.isSupportedCode(o));return s.length?(this.options.preload=r.concat(s),this.loadResources(o=>{i.resolve(),a&&a(o)}),i):(a&&a(),Promise.resolve())}dir(n){if(n||(n=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!n)return"rtl";const a=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],i=this.services&&this.services.languageUtils||new Ad(Ed());return a.indexOf(i.getLanguagePartFromCode(n))>-1||n.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;return new oi(n,a)}cloneInstance(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Bi;const i=n.forkResourceStore;i&&delete n.forkResourceStore;const r={...this.options,...n,isClone:!0},s=new oi(r);return(n.debug!==void 0||n.prefix!==void 0)&&(s.logger=s.logger.clone(n)),["store","services","language"].forEach(c=>{s[c]=this[c]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},i&&(s.store=new kd(this.store.data,r),s.services.resourceStore=s.store),s.translator=new Ir(s.services,r),s.translator.on("*",function(c){for(var l=arguments.length,d=new Array(l>1?l-1:0),p=1;p<l;p++)d[p-1]=arguments[p];s.emit(c,...d)}),s.init(r,a),s.translator.options=r,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const _e=oi.createInstance();_e.createInstance=oi.createInstance;_e.createInstance;_e.dir;_e.init;_e.loadResources;_e.reloadResources;_e.use;_e.changeLanguage;_e.getFixedT;_e.t;_e.exists;_e.setDefaultNamespace;_e.hasLoadedNamespace;_e.loadNamespaces;_e.loadLanguages;const hx={en:{translation:{nav:{home:"Home",about:"About Us",programs:"Programs",admission:"Admission",clinic:"Clinic",exam:"National Exam",contact:"Contact",applyNow:"Apply Now",bookTreatment:"Book Treatment","about.about":"About Us","about.presidents-message":"President's Message","about.our-faculty":"Our Faculty","about.advisory-committee":"Advisory Committee","about.why-choose-cctcma":"Why Choose CCTCMA","about.faq":"FAQ","about.photo-gallery":"Photo Gallery","about.hiring":"Hiring","about.job-listing":"Job Listing","about.college-news":"College News","programs.massage":"2200 Hr Massage Diploma","programs.acupuncture":"3 Year Acupuncture Diploma","programs.tcm":"4 Year TCM Diploma","admission.requirements":"Admission Requirements","admission.apply":"Apply Online","admission.tuition":"Tuition & Fees","clinic.services":"Clinic Services","clinic.book":"Book Appointment","clinic.practitioners":"Prepare for Appointment","exam.what-is-pan-canadian":"What is Pan-Canadian Exam","exam.cctcma-support":"CCTCMA's Support"},common:{loading:"Loading...",error:"An error occurred",retry:"Retry",success:"Success",close:"Close",learnMore:"Learn More",readMore:"Read More",contactUs:"Contact Us",getStarted:"Get Started",highlights:"Highlights",placeholders:{firstName:"John",lastName:"Doe",email:"[email protected]",emailAddress:"Enter your email address"},form:{sendUsMessage:"Send us a Message",firstNameLabel:"First Name",lastNameLabel:"Last Name",emailAddressLabel:"Email Address",sendMessageButton:"Send Message"},contact:{sectionLabel:"Get in Touch",phoneNumber:"1-(403)287-8688",emailAddress:"[email protected]",subtitle:"Ready to start your journey in Traditional Chinese Medicine? Get in touch with us today!"}
93,faculty:{title:"OUR FACULTY",subtitle:"Help you realize your dream of being a true healer",title1:"OUR AWESOME FACULTY & STAFF",subtitle1:"We'll help you realize your dreams of being a true healer"},imageLoadError:"Image failed to load",search:{placeholder:"Search CCTCMA",foundResults:'Found {{count}} result{{s}} for "{{query}}"',noResultsFor:'No results found for "{{query}}"',findInformationAbout:"Find information about {{term}}",openMainMenu:"Open main menu"},courses:{notFoundBody:"We could not load the course description.",tried:"Tried:",backToPrograms:"Back to Programs",titles:{"the-foundation-of-tcm":"The Foundation of TCM","chinese-acupuncture-1":"Chinese Acupuncture (1)","chinese-acupuncture-2":"Chinese Acupuncture (2)","chinese-acupuncture-3":"Chinese Acupuncture (3)","chinese-acupuncture-4":"Chinese Acupuncture (4)","chinese-acupuncture-5":"Chinese Acupuncture (5)","chinese-acupuncture-6":"Chinese Acupuncture (6)","anatomy-and-physiology-1":"Anatomy and Physiology (1)","anatomy-and-physiology-2":"Anatomy and Physiology (2)","medical-terminology":"Medical Terminology","chinese-language-and-history-of-tcm":"Chinese Language and TCM History","tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique":"TCM and Acupuncture Regulation, Ethics, Communication Skills, and Clean Needle Technique","diagnosis-of-tcm":"Diagnosis of TCM","chinese-herbology":"Chinese Herbology","chinese-herbal-formulas":"Chinese Herbal Formulas","massage-1":"Massage (1)","massage-2":"Massage (2)","pathology-and-microbiology-1":"Pathology and Microbiology (1)","pathology-and-microbiology-2":"Pathology and Microbiology (2)","western-medical-diagnosis":"Western Medical Diagnosis","clinical-practicum-1":"Clinical Practicum (1)","clinical-practicum-2":"Clinical Practicum (2)","clinical-practicum-3":"Clinical Practicum (3)","clinical-practicum-4":"Clinical Practicum (4)","clinical-practicum-5":"Clinical Practicum (5)","clinical-practicum-6":"Clinical Practicum (6)","internal-medicine":"Internal Medicine","dietary-therapy":"Dietary Therapy","western-pharmacology":"Western Pharmacology","tcm-sports-medicine":"TCM Sports Medicine","case-studies-1":"Case Study (1)","case-studies-2":"Case Studies (2)",pediatrics:"Pediatrics","tcm-classics-1":"TCM Classics (1)","tcm-external-dermatology":"TCM External and Dermatology","tcm-gynecology":"TCM Gynecology","tcm-classic-2-jin-gui-yao-lue":"TCM Classic (2) Jin Gui Yao Lue","introduction-to-business-management":"Introduction to Business Management","safety-jurisprudence":"Safety and Jurisprudence","tcm-classics-huang-di-nei-jing-su-wen-and-wen-bing-xue":"TCM Classics - Huang Di Nei Jing, Su Wen and Wen Bing Xue","tcm-psychology":"TCM Psychology","advanced-acupuncture-and-tcm":"Advanced Acupuncture and TCM","botanical-pharmacology":"Botanical Pharmacology","tcm-preventive-medicine":"TCM Preventive Medicine","western-internal-medicine":"Western Internal Medicine","mt-101-medical-terminology":"Medical Terminology (MT)","mt-102-anatomy-and-physiology":"Anatomy and Physiology","mt-201-musculoskeletal-anatomy":"Musculoskeletal Anatomy","mt-202-neuroanatomy":"Neuroanatomy","mt-104-massage-theory-and-practice-1":"Massage Theory and Practice 1","mt-105-ethics-and-communications":"Ethics and Communications","mt-107-business-skills":"Business Skills","mt-109-massage-theory-and-practice-2":"Massage Theory and Practice 2","mt-110-massage-clinical-practicum-1":"Massage Clinical Practicum 1","mt-106-pathology":"Pathology","mt-108-physical-diagnosis-case-history-taking-2":"Physical Diagnosis and Case History Taking","mt-203-massage-theory-and-practice-3-joint-mobilizations":"Massage Theory and Practice 3","mt-204-massage-theory-and-practice-4-treatment-of-head-neck-and-back":"Massage Theory and Practice 4","mt-210-massage-clinical-practicum-2":"Massage Clinical Practicum 2","mt-205-orthopedic-physical-diagnosis-sport-injury":"Orthopedic Physical Diagnosis and Sport Injury","mt-206-introduction-to-internal-medicine-and-surgery":"Introduction to Internal Medicine and Surgery","mt-207-massage-theory-and-practice-5-treatment-of-upper-and-lower-extremities":"Massage Theory and Practice 5","mt-208-massage-theory-and-practice-6-sport-massage":"Massage Theory and Practice 6","mt-211-massage-clinical-practicum-3":"Massage Clinical Practicum 3"},"tcm-classics-1":{title:"TCM Classics -Shang Han Lun",sections:{description:{heading:"Course Description",body:{0:"Shang Han Lun was written by Zhang Zhongjing in the third century. It is one of the most important ancient classics of TCM. Zhang Zhongjing was the first TCM Doctor in the history of TCM to advocate the theory of the six meridians and to apply the theory to the analyses and classification of the exogenous diseases. Many formulas and differentiation methods in this book is still widely applied in clinic situations now. The main goal of this course is to provide students with detailed knowledge of this classic."}},objectives:{heading:"Course Objective",body:{0:"Get to know some detailed lines of Shang Han Lun, try to understand the thought of Zhang zhongjing, and learn the method to prescribe the formulas."}}},table:{courseId:"Course ID",courseName:"Course Name",time:"Time",hrsPerWeek:"Hrs/Pwk",weeks:"Weeks",totalHours:"Total Hours",credit:"Credit"}},"medical-terminology":{title:"Medical Terminology",sections:{description:{heading:"Course Description",body:{0:"This is an interactive course designed to provide the foundation for the understanding and proper use of medical terminology."}},objectives:{heading:"Course Objective",body:{0:"Understand and be able to use current standard medical terminology"}}},table:{courseId:"Course ID",courseName:"Course Name",time:"Time",hrsPerWeek:"Hrs/Pwk",weeks:"Weeks",totalHours:"Total Hours",credit:"Credit"}}}},brand:{name:"Calgary College of TCM",subtitle:"and Acupuncture"},page16898:{international:{title:"International Students",content:`We welcome international students from around the world:
94
95• Student visa application support
96• Accommodation arrangements
97• Language support
98• Cultural adaptation guidance`,link:"Learn More"}},page:{home:{simple:{programs:{title:"Professional Programs",description:"Comprehensive TCM and Acupuncture courses"},clinical:{title:"Clinical Practice",description:"Rich clinical internship opportunities"},certification:{title:"Certification",description:"Help students obtain professional qual
98ifications"}},hero:{welcome:"✨ Welcome to Calgary College of Traditional Chinese Medicine and Acupuncture",navigation:{goToSlide:"Go to slide",previousSlide:"Previous slide",nextSlide:"Next slide"},slide1:{title:"Excellence in Traditional Chinese Medicine Education",subtitle:"For over two decades, Calgary College of Traditional Chinese Medicine and Acupuncture has been a leading institution in TCM education, combining ancient wisdom with modern teaching methods.",author:"Dr. Lixin Yang, President",cta:"Learn More About Us"},slide2:{title:"Academic Year 2024-2025 Application Submission",subtitle:"Join our comprehensive programs and start your journey in Traditional Chinese Medicine and Acupuncture.",cta:"Book Treatment"},slide3:{title:"Congratulations to Our Graduates!",subtitle:"Celebrating another successful year of graduating skilled practitioners in Traditional Chinese Medicine.",cta:"View Programs"}},about:{sectionLabel:"About Us",title:"Acupuncture and Massage Education",description:"For over two decades, Calgary College of Traditional Chinese Medicine and Acupuncture has been a leading institution in acupuncture and massage education, combining ancient wisdom with modern teaching methods.",cta:"Learn More About Us",carousel:{image1Alt:"CCTCMA Clinic Facilities",image2Alt:"Traditional Chinese Massage Therapy",image3Alt:"Traditional Chinese Herbal Medicine"}},stats:{years:{number:"20+",label:"Years of Excellence"},graduates:{number:"500+",label:"Graduates"}},programs:{sectionLabel:"Our Programs",title:"Programs",subtitle:"Discover our comprehensive programs designed to prepare you for a successful career",massage:{title:"2200 Hour Massage Diploma",description:"Our massage diploma course will provide you with all the skills needed to become a successful massage therapist. Learn more about our massage therapy program today!",linkText:"Learn More →"},acupuncture:{title:"Acupuncture Diploma",description:"In our 3-year acupuncture diploma program, combine foundational knowledge with practical learning! Discover more about our acupuncture courses today",linkText:"Learn More →"},tcm:{title:"TCM Diploma",description:"Our 4-year TCM diploma program provides you with the tools needed to develop in the field of Traditional Chinese Medicine. Learn more about our TCM diploma today!",linkText:"Learn More →"},program1:{title:"2200 Hour Massage Diploma",description:"Our massage diploma course will provide you with all the skills needed to become a successful massage therapist. Learn more about our massage therapy program today!",linkText:"Learn More →"},program2:{title:"Acupuncture Diploma",description:"In our 3-year acupuncture diploma program, combine foundational knowledge with practical learning! Discover more about our acupuncture courses today",linkText:"Learn More →"},program3:{title:"TCM Diploma",description:"Our 4-year TCM diploma program provides you with the tools needed to develop in the field of Traditional Chinese Medicine. Learn more about our TCM diploma today!",linkText:"Learn More →"}},mission:{sectionLabel:"Our Mission",title:"Empowering Healers Through Education",content:"At Calgary College of Traditional Chinese Medicine and Acupuncture, we are dedicated to preserving and advancing the ancient art of Traditional Chinese Medicine through comprehensive education, practical training, and unwavering commitment to excellence.",learnMore:"Learn More About Us",viewPrograms:"View Programs",imageAlt:"Our Mission"},whyChoose:{title:"Why Choose CCTCMA",subtitle:"Discover what makes Calgary College of Traditional Chinese Medicine and Acupuncture the premier choice for Traditional Chinese Medicine education",feature1:{title:"Hands-On Learning",description:"Experience practical, hands-on training with real patients in our state-of-the-art clinic facilities."},feature2:{title:"Experienced Instructors",description:"Learn from experienced practitioners and educators who are leaders in the field of Traditional Chinese Medicine."},feature3:{title:"International Experience",description:"Gain valuable international perspective through our partnerships with institutions in China and other countries."}},cta:{title:"Ready to Start Your Journey in Traditional Chinese Medicine?",applyText:"Apply Now",programsText:"View Programs"},faculty:{title:"Meet Our Expert Faculty",subtitle:"Learn from experienced practitioners and educators dedicated to your success",sectionLabel:"Professional & Supportive"},testimonials:{title:"What Our Students Say"},contact:{sectionLabel:"Get In Touch",title:"Contact Us Today",subtitle:"Ready to begin your journey in Traditional Chinese Medicine? Contact us today to learn more about our programs.",form:{title:"Send us a Message",firstName:"First Name",lastName:"Last Name",email:"Email Address",phoneLabel:"Phone Number",phonePlaceholder:"Enter your phone number",messageLabel:"Message",messagePlaceholder:"Please tell us how we 
98can help you...",submit:"Send Message"},findUs:{title:"Find Us At",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7",phone:"1-(403)287-8688",email:"[email protected]"},externalLinks:{title:"Useful Links"},links:{aaatcmd:"Alberta Association of Acupuncturists and Traditional Chinese Medicine Doctors",caa:"College of Acupuncturists of Alberta",studentAid:"Student Aid Alberta",nhpc:"Natural Health Practitioners of Canada",internship:"Acupuncture Internship Program",maple:"Maple Acupuncture and Massage"}}},page:{home:{faculty:{sectionLabel:"Professional & Supportive",title:"OUR AWESOME FACULTY & STAFF",subtitle:"We'll help you realize your dreams of being a true healer"},mission:{viewPrograms:"View Programs"},cta:{title:"Ready to Start Your Journey in Traditional Chinese Medicine?",applyText:"Apply Now",programsText:"View Programs"}},about:{hero:{title:"About Us",subtitle:"Learn about Calgary College of Traditional Chinese Medicine and Acupuncture's history, mission and values"},navigation:{title:"Quick Navigation",overview:"Overview of CCTCMA",presidentsMessage:"President's Message",ourFaculty:"Our Faculty",whyChooseCctcma:"Why Choose CCTCMA",faq:"FAQ",photoGallery:"Photo Gallery",hiring:"Hiring",jobListing:"Job Listing",collegeNews:"College News"},college:{title:"About the College",content:`Established in 2003, the Calgary College of Traditional Chinese Medicine and Acupuncture (CCTCMA) is a comprehensive educational institution registered with the Ministry of Advanced Education of Alberta, the College of Acupuncturists of Alberta, Natural Health Practitioners of Canada (NHPC), and the Canadian Massage and Manual Osteopathic Therapists Association (CMMOTA). It seamlessly integrates teaching, medical care, research, and the promotion of traditional Chinese medicine culture.
99
100The college currently offers three programs: the Acupuncture Diploma Program, the 2200-Hour Massage Diploma Program, and the TCM Diploma Program, all conducted in English. Students have the opportunity to apply for scholarships and grants from the Alberta provincial government and the Canadian federal government. Additionally, the college holds approval from the Canadian federal government as a Designated Learning Institution (DLI: O111917070547) for international students. Our esteemed faculty includes professors, associate professors, lecturers, and Ph.D. holders in Traditional Chinese Medicine from around the world, highly esteemed for their expertise. They are passionately dedicated to teaching with enthusiasm, professionalism, and a sincere commitment to helping every student excel in their skills.
101
102Nestled in Calgary, recognized as one of the world's wealthiest, safest, and most livable cities, our college enjoys the advantage of a picturesque environment characterized by pristine air and embraced by the breathtaking backdrop of everlasting snow-capped mountains, including the majestic Rocky Mountains and the renowned Banff National Park. Calgary is renowned for its welcoming atmosphere and has maintained a consistent presence among the top ten most livable cities globally.
103
104In its two decades of educational excellence, the Calgary College of Traditional Chinese Medicine and Acupuncture has embraced the core philosophy of 'inheritance and innovation' in Chinese acupuncture and traditional medicine. Deeply rooted in the cultural heritage of China and traditional Chinese medicine, the college places a strong emphasis on its fundamental mission of education. Over the years, it has nurtured a multitude of professionals, including Chinese massage therapists, acupuncturists, and advanced Chinese medicine practitioners, significantly contributing to the growth of Chinese medicine in Calgary and North America, earning a well-deserved reputation.`},mission:{title:"Our Mission",content:"Our mission is to provide our students with high quality, authentic education in acupuncture, massage, and Traditional Chinese Medicine. We strive to maintain standards of education comparable to Acupuncture and TCM programs in China."},programs:{title:"The Programs",content:"The Programs offered at CCTCMA provide an authentic education in TCM and acupuncture, and are designed to prepare students for TCM and acupuncture licensing examinations around the world."},goal:{title:"Our Goal",content:"Our goal is to impart the knowledge and skills of TCM and acupuncture to our students, ensuring that they can practice successfully anywhere in the world in the future. Our faculty is highly educated, holding master's and doctorate degrees in acupuncture and TCM, and they have decades of practical experience to share with CCTCMA students."},faculty:{seeAllFaculty:"See All Faculty Members",viewAllButton:"See All Faculty Members",drFrankDu:{name:"Dr. Frank Du",title:"President & Faculty"},drLuyangLiu:{name:"Dr. Luyang (Martin) Liu",title:"Dean and Faculty Member"}},accreditation:{title:"Accreditation",acupuncture:{title:"Acupuncture Diploma"},massage:{title:"2200 Hour Massage Diploma"}},cta:{title:"Ready to Start Your TCM Journey?",description:"Apply to our programs now and begin your journey in Traditional Chinese Medicine.",applyNow1:"Apply Now",contactUs1:"Contact Us",applyButton:"Apply Now",contactButton:"Contact Us"}}},programs:{hero:{mainTitle:"Our Programs Are Open For New Applications",subtitle:"Take your first steps toward an exciting career in Traditional Chinese Medicine and Acupuncture with our authentic and expertly curated diploma programs!"}},admission:{apply:{programSelection:{title:"Program Selection",label:"I apply for *",acupuncture:"Three-year Acupuncture Diploma Program",massage:"2200 Hours Massage Diploma Program",tcm:"Four-year TCM Diploma Program"}},fees:{programs:{acupuncture:{name:"Acupuncture Program",duration:"3 years",canadianTuition:"$9,900 per year",canadianTotal:"$29,700",internationalTuition:"$11,500 per year",internationalTotal:"$34,500",description:"Professional acupuncture program leading to R.Ac. registration in Alberta.",includes:["TCM Theory","Acupuncture Techniques","Chinese Medicine Diagnosis","Clinical Training","Western Medical Sciences"]},massage:{name:"2200 Hour Massage Therapy Program",duration:"2 years",canadianTuition:"$9,900 per year",canadianTotal:"$19,800",internationalTuition:"$11,500 per year",internationalTotal:"$23,000",description:"Comprehensive massage therapy training program preparing students for RMT registration.",includes:["Anatomy & Physiology","Massage Techniques","Pathology","Clinical Practice","Business Skills"]},dtcm:{name:"TCM Program",duration:"4 years",canadianTuition:"$9,900 per year",canadianTotal:"$39,600",internationalTuition:"N/A",internationalTotal:"N/A",description:"Advanced Traditional Chinese Medicine program with comprehensive clinical training.",includes:["Advanced TCM Theory","Acupuncture & Moxibustion","Chinese Herbal Medicine","TCM Internal Medicine","Clinical Internship","Research Methods"]}},additionalFees:[{item:"Application Fee",amount:"$150",note:"Non-refundable"},{item:"Registration Fee",amount:"$500",note:"Per academic year"},{item:"Laboratory Fee",amount:"$300",note:"Per academic year"},{item:"Clinical Fee",amount:"$400",note:"Per clinical year"},{item:"Graduation Fee",amount:"$200",note:"Final year only"},{item:"Student Union Fee",amount:"$50",note:"Per academic year"}],paymentOptions:{fullPayment:{title:"Full Payment",description:"Pay full tuition before program start",benefit:"5% discount on total tuition",icon:"💰"},semesterPayment:{title:"Semester Payment",description:"Pay by semester before each term",benefit:"No additional fees",icon:"📅"},monthlyPayment:{title:"Monthly Payment Plan",description:"Spread payments over program duration",benefit:"Flexible budgeting",icon:"📊"}},importantInfo:{title:"Important Information",tuitionPolicy:{title:"Tuition Policy",items:["The tuition fees will not increase after enrollment","Tuition Collection and Refund Policy refers to the Standard Alberta Student Enrollment Contract","Refunds will only be processed to the entity/location that originally paid the tuition"]},partTimeOptions:{title:"Part-Time Options",items:["Part-time students pay on a credit basis at CAN$450.00 per course credit","The part-time program is not available for international students"]}},additionalCosts:{title:"Additional Costs",description:"Study Guides and Teaching Materials: The cost ranges around $1000 per year for all programs. Study guides need to be purchased from the school. Other references for TCM and Acupuncture may be purchased from other sources at the student's own expense."},financialAid:{title:"Financial Aid & Student Loans",description:"We understand that financing your education can be a significant concern. CCTCMA is committed to helping you explore all available options to make your education affordable.",availableSupport:{title:"Available Support:",items:["Federal Student Loan programs","Provincial Student Loan programs","Payment plans and consultation","Financial aid counseling"]},nextSteps:{title:"Next Steps:",items:["Contact our Administration Office","Discuss your student loan status","Apply for available programs","Create a financial plan"]}}}},clinic:{prepare:{hero:{title:"Prepare for Your Appointment",subtitle:"Essential information to ensure you feel prepared and get the most from your acupuncture, massage and TCM treatment"},intro:{text:`Acupuncture and other Traditional Chinese Medicine treatments are safe and effective ways to take control of your health.
105
106At the Calgary College of Traditional Chinese Medicine and Acupuncture, we want to ensure you feel prepared for your visit. Here are some suggestions to ensure your visit is the best experience.`}}},contact:{form:{messages:{successDetail:"Your message has been successfully submitted! We will respond to you as soon as possible.",messageId:"Your message ID",failedToSend:"Failed to send message",unknownError:"Unknown error",tryAgain:"Failed to send message. Please try again.",generalInquiry:"General Inquiry"}}},about:{navigation:{overview:"Overview of CCTCMA",presidentsMessage:"President's Message",ourFaculty:"Our Faculty",whyChooseCctcma:"Why Choose CCTCMA",faq:"FAQ",photoGallery:"Photo Gallery",hiring:"Hiring",jobListing:"Job Listing",collegeNews:"College News"},faq:{q1:{question:"What are the benefits of choosing the Acupuncture program of CCTCMA over others offered in Canada?",answer:["Our faculty members are more than qualified. The majority of our faculty members have a Master's Degree or Ph.D. in Acupu
106ncture and Traditional Chinese Medicine and have at least 15 years of working and teaching experience in Acupuncture and Traditional Chinese Medicine in Canada and China.","Our programs were developed based on our teaching experiences of Acupuncture and Traditional Chinese Medicine in Australia, Canada, the USA, and China. These programs have been running successfully for over twenty years in Northern America and about fifty years in China.","Classes are small.","Student loans are available.","We are pleased to offer our own, uniquely designed Study Guides for almost every subject. This helps our students learn Traditional Chinese Medicine and Acupuncture easily.",'Our student clinic is very busy, therefore, there is a lot of "hands-on practice" of acupuncture available to our students.',"Studying is full time, from 9 am to 5 pm, Monday to Friday. You will get the training you pay for.","We are committed to offering the highest education and training in Traditional Chinese Medicine and Acupuncture in Canada.","We are located in a central area of Calgary. This enables easier transportation to and from the college, including Public Transportation."]}},whyChoose:{accreditations:[{program:"Acupuncture Diploma",details:["Approved by the College of Acupuncturists of Alberta. The College of Acupuncturists of Alberta has the authority to approve acupuncture education programs. Individuals who obtain a diploma from these programs satisfy section 3(a)(1) and 3(b)(1) of the Acupuncturist Professional Regulation.","Alberta Advanced Education (Alberta Learning): The Acupuncture Diploma Program is eligible for full-time post-secondary assistance by Alberta Student Aid.","The Calgary College of Traditional Chinese Medicine and Acupuncture's Designated Learning Institution number (DLI#) is O111917070547. A designated learning institution is a school approved by a provincial or territorial government to host international students.","Accepted by Beijing University of Chinese Medicine, China."]},{program:"2200 Hour Massage Diploma",details:["Approved and recognized by the NHPC (Natural Health Practitioners of Canada)","The Calgary College of Traditional Chinese Medicine and Acupuncture's Designated Learning Institution number (DLI#) is O111917070547. A designated learning institution is a school approved by a provincial or territorial government to host international students.","Alberta Advanced Education: Our Massage Diploma Program is eligible for full-time post-secondary assistance by Alberta Student Aid."]}]}}},footer:{company:{name:"Calgary College of TCM",subtitle:"and Acupuncture"},quickLinks:{title:"Quick Links"},programs:{title:"Our Programs"},admission:{title:"Admission"},clinic:{title:"Student Clinic"},professionalOrgs:{title:"Professional Organizations"},businessHours:{title:"Business Hours",day:"Day",schoolHours:"School Hours",clinicHours:"Clinic Hours",monday:"Monday:",tuesday:"Tuesday:",wednesday:"Wednesday:",thursday:"Thursday:",friday:"Friday:",saturday:"Saturday:",sunday:"Sunday:",weekdaySchool:"9:00 AM - 5:00 PM",mondayClinic:"9:30 AM - 5:30 PM",tuesdayClinic:"9:30 AM - 5:30 PM",wednesdayClinic:"9:30 AM - 5:30 PM",thursdayClinic:"9:30 AM - 5:30 PM",fridayClinic:"9:30 AM - 5:30 PM",saturdayHours:"Closed",sundayHours:"Closed"},connect:{title:"Connect With Us",stayUpdated:"Stay Updated",emailPlaceholder:"Enter your email"},copyright:"© 2025-2026 Calgary College of Traditional Chinese Medicine and Acupuncture. All rights reserved.",legal:{privacy:"Privacy Policy",terms:"Terms of Service",accessibility:"Accessibility"}},privacy:{title:"Privacy Policy",description:"Learn how Calgary College of Traditional Chinese Medicine and Acupuncture collects, uses, and protects your personal information.",lastUpdated:"Last Updated",updateDate:"October 7, 2025",intro:{title:"CCTCMA Privacy Policy",content:'This Privacy Policy describes how your personal information is collected, used, and shared when you visit or make a purchase from www.cctcma.com (the "Site").'},collection:{title:"Personal Information We Collect",intro:'When you visit the Site, we automatically collect certain information about your device, including information about your web browser, IP address, time zone, and some of the cookies that are installed on your device. Additionally, as you browse the Site, we collect information about the individual web pages or products that you view, what websites or search terms referred you to the Site, and information about how you interact with the Site. We refer to this automatically-collected information as "Device Information."',technologies:"We collect Device Information using the following technologies:",cookies:{title:"Cookies",item1:'"Cookies" are data files that are placed on your device or computer and often include an anonymous unique identifier. For more information about cookies, and how to disable cookies, visit http://www.aboutcookies.org.',item2:"For more information about cookies, and how to disable cookies, visit"},logFiles:{title:"Log Files",content:'"Log files" track actions occurring on the Site, and collect data including your IP address, browser type, Internet service provider, referring/exit pages, and date/time stamps.'},webBeacons:{title:"Web Beacons, Tags, and Pixels",content:'"Web beacons," "tags," and "pixels" are electronic files used to record information about how you browse the Site.'}},usage:{title:"How We Use Your Information",item1:"To process and respond to your inquiries and application submissions",item2:"To communicate with you about our programs, services, and events",item3:"To improve and optimize our Site and services",item4:"To screen for potential risk and fraud",item5:"To comply with applicable laws and regulations"},security:{title:"Data Security",content:"We implement appropriate technical and organizational measures to protect your personal information against unauthorized access, alteration, disclosure, or destruction. However, no method of transmission over the Internet or electronic storage is 100% secure."},thirdParty:{title:"Third-Party Services",content:"We may share your personal information with third-party service providers who help us operate our website, conduct our business, or service you. These third parties are obligated to keep your information confidential and secure."},rights:{title:"Your Rights",item1:"Access the personal information we hold about you",item2:"Request correction of inaccurate or incomplete information",item3:"Request deleti
106on of your personal information",item4:"Object to or restrict the processing of your personal information"},children:{title:"Children's Privacy",content:"Our Site is not intended for individuals under the age of 18. We do not knowingly collect personal information from children under 18. If you are a parent or guardian and believe your child has provided us with personal information, please contact us."},changes:{title:"Changes to This Privacy Policy",content:"We may update this Privacy Policy from time to time to reflect changes in our practices or for other operational, legal, or regulatory reasons. We will notify you of any material changes by posting the new Privacy Policy on this page."},contact:{title:"Contact Us",content:"If you have any questions about this Privacy Policy or our privacy practices, please contact us at:",organization:"Organization",address:"Address",phone:"Phone",email:"Email"}},testimonials:{cindyLi:{name:"Cindy Li",quote:"Choosing to attend CCTCMA has been one of the better decisions that I have made. The instructors are dedicated and the students are passionate about learning. I value the 'open-door' attitude that the administration has, as well as the family-like atmosphere the College provides. I would strongly recommend this College to anyone interested in a career in Traditional Chinese Medicine and acupuncture!"},kristinHintz:{name:"Kristin Hintz",quote:"The TCM program at CCTCMA has been more than I could ask for! The curriculum is extensive and very challenging but provides an amazing feeling of accomplishment. The Doctors/Instructors are fantastic and are always available to assist the students with the material presented. I would recommend CCTCMA to anyone who has a love for Traditional Chinese Medicine and acupuncture."},christinaBurns:{name:"Christina Burns",quote:"The TCM program at the Calgary College of TCM and Acupuncture is fantastic. The teachers are thorough and present their material clearly. They come from a great deal of background knowledge and most have had extensive experience in China and abroad. The curriculum is incomparable to any other in Calgary and the quality of education also far surpasses that of the other schools I have looked into."},nicoleMitchelson:{name:"Nicole Mitchelson",quote:"Now completing my 2nd year, the Calgary College of Traditional Chinese Medicine and Acupuncture not only has a well developed course structure, new facilities, the most qualified staff and an internship in China … it's fun. The class size allows me direct access to my instructors and an excellent working environment with my classmates."},jenniferBarrow:{name:"Jennifer Barrow",quote:"The Traditional Chinese Medicine program at CCTCMA is very rewarding! Although can be challenging and hard work…the rewards keep coming… after the first year, my knowledge has greatly increased and I am continually entrigued to keep learning, growing and practicing skills that I learn each day. I suggest this program to anyone interested in a Holistic Professional Academic Program."},ranQian:{name:"Ran Qian",quote:'I would like to say I am proud to be part of the TCM health care program. In my opinion TCM has the most advanced theory in the health care field, it has been proven over thousands of years in China . TCM will prove itself again in the western world, and we are here to make it happen. I would like to give my thanks to Dr. Du for providing us this great opportunity. I will go through this program and be the witness in the future where the real impact will take place".'}},seo:{defaultDescription:"Calgary College of Traditional Chinese Medicine and Acupuncture offers comprehensive TCM education programs including Massage Therapy, Acupuncture, and TCM diplomas. Experience authentic Chinese medicine education in Calgary.",keywords:"Traditional Chinese Medicine, Acupuncture, TCM, Massage Therapy, Calgary, Chinese Medicine School, Acupuncture School, TCM Education, Alternative Medicine, Holistic Health"},home:{hero:{slide1:{title:"Welcome to CCTCMA",subtitle:"A journey of a thous
106and miles must begin with a single step.",author:"- Lao Tzu",cta:"REQUEST MORE INFORMATION"},slide2:{title:"FREE ACUPUNCTURE",subtitle:"Our Teaching Clinic - Our interns are supervised by licensed and experienced TCM doctors, acupuncturists, and RMT's.",cta:"FIND CLINIC HOURS"},slide3:{title:"We Are Accepting Applications for the 2026 Academic Year",subtitle:"Over the past 20 years, we have nurtured and produced many outstanding graduates. As we look to the future, we remain committed to striving for even higher quality education.",cta:"CHECK OUT OUR PROGRAMS"}},mission:{title:"Our Mission",content:"Our mission is to provide our students with high quality, authentic education in acupuncture and Traditional Chinese Medicine. We strive to maintain standards of education comparable to Acupuncture and TCM programs in China."},whyChoose:{title:"Why Choose Calgary College of Traditional Chinese Medicine and Acupuncture?",feature1:{title:"Hands-on Learning",description:"Clinical practice and hands-on learning are key components of all of our programs."},feature2:{title:"Experienced Instructors",description:"Our instructors have decades of teaching experience, both in Canada and internationally."},feature3:{title:"International Experience",description:"Our staff consists of highly trained and seasoned individuals from locations all over the world."}},programs:{title:"Our Programs",subtitle:"Choose from our comprehensive programs designed to prepare you for a successful career in Traditional Chinese Medicine and related healing arts.",massage:{title:"2200 Hr Massage Diploma",description:"Our Massage Diploma will provide you with all the skills you need to be a successful massage therapist. Learn more about our Massage Therapy Program now!",fullDescription:"Our 2200-Hour massage diploma program is a two-year, full-time program and it has been approved and recognized by the Natural Health Practitioners of Canada (NHPC) and is under the Private Vocational Training Act of Alberta.",features:{integratedStudy:{title:"Integrated Study",description:"Our 2200 Hour Massage Diploma Program offers a comprehensive educational experience in Swedish massage, Chinese massage (Tuina), biomedicine, and safety and jurisprudence regarding to the massage practice in Canada."},financialAssistance:{title:"Financial Assistance",description:"Our 2200 Hour Massage Program is eligible for full-time post-secondary assistance by Alberta Student Aid."},professionalRecognition:{title:"Professional Association Recognition",description:"The 2200 Hour Massage Diploma Program has been approved by the NHPC Credentials Committee and recognized by the NHPC. The Committee has determined that the CCTCMA's curriculum meets the industry standard for massage therapy education. CCTCMA students and graduates will be eligible for membership with the NHPC based on their attendance and completion of the Massage Therapy Diploma Program (2200 Hours)."},handsOnLearning:{title:"Hands On Learning",description:"The theoretical courses and onsite teaching clinic provide the hand on learning experience for the candidates of the Massage Diploma Program."}},linkText:"Learn More ->"},acupuncture:{title:"Acupuncture Diploma",description:"Combine foundational knowledge with hands-on learning in our Acupuncture Diploma program! Discover more about our acupuncture program today",fullDescription:"Acupuncture Diploma Program is a three-year full-time program. Students will learn acupuncture, Chinese herbs, TCM foundation, Chinese massage (Tuina), biomedicine, safety and regulation of acupuncture, as well as all other related courses. Intern clinic practice will also be as an important part in this program.",features:{integratedStudy:{title:"Integrated Study",description:"Our acupuncture program combines acupuncture and TCM theory with hands-on practice to create a rewarding and comprehensive learning experience, that will prepare you for real-world applications."},financialAssistance:{title:"Financial Assistance",description:"Our full-time acupuncture students are eligible for student aid through {{link:Alberta Student Aid:https://studentaid.alberta.ca/}}."},teachingExperience:{title:"Decades of Teaching Experience",description:"Join us and our instructor, all of whom have decades of teaching experience, both in Canada and internationally."},licenseExamReady:{title:"License Exam Ready",description:"CCTCMA offers refresher courses and other types of counseling services to assist graduate students with their upcoming licensing exams."},handsOnLearning:{title:"Hands On Learning",description:"Our onsite internships and practicums provide our students with hands-on experience in acupuncture, herbology, and Tuina massage."},internationalInternship:{title:"International Internship",description:"CCTCMA is partnered with the Beijing University of Chinese Medicine, as well as the {{link:China-Japan Friendship Hospital:https://www.zryhyy.com.cn/}}. Students can inquire with administration regarding international internships etc.,"}},linkText:"Learn More ->"},tcm:{title:"TCM Diploma",description:"Our TCM Diploma program gives you the tools you need for a career in TCM. Learn more about our TCM Diploma now!",fullDescription:"TCM Diploma Program is a four-year full-time program. Students will have the opportunities to learn the advanced TCM courses, such as TCM Psychology, TCM preventions, TCM Classics, and all relevant advanced TCM knowledge and skills. Students also need to learn the advanced western internal medicine as well.",features:{integratedStudy:{title:"Integrated Study",description:"This program offers a comprehensive learning experience with intensive theoretical and practical courses. Students will have the opportunity to go to China for their internship."},teachingExperience:{title:"Decades of Teaching Experiences",description:"Majority of our Faculty have decades of teaching experience locally and internationally."},handsOnLearning:{title:"Hands On Learning",description:"Our onsite teaching clinic and the teaching hospital in China provides students the hands-on learning experience."},internationalInternship:{title:"International Internship",description:"Opportunities for study in China are available."}},linkText:"Learn More ->"}},contact:{title:"Contact Us",form:{name:"Your Name",email:"Your Email",message:"Your Message",submit:"SUBMIT"},findUs:{title:"FIND US AT",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7"},externalLinks:{title:"EXTERNAL LINKS"},links:{aaatcmd:"Alberta Association of Acupuncturists and Traditional Chinese Medical Doctors",ca
106a:"College of Acupuncturists of Alberta",studentAid:"Alberta Student Aid",nhpc:"Natural Health Practitioners of Canada",internship:"Student Internship Program",maple:"Maple Acupuncture and Massage"}},faculty:{sectionLabel:"OUR AWESOME FACULTY & STAFF",title:"OUR AWESOME FACULTY & STAFF",subtitle:"We'll help you realize your dreams of being a true healer"},testimonials:{title:"Student Success Stories",students:[{name:"Cindy Li",quote:"Choosing to attend CCTCMA has been one of the better decisions that I have made. The instructors are dedicated and the students are passionate about learning. I value the 'open-door' attitude that the administration has, as well as the family-like atmosphere the College provides. I would strongly recommend this College to anyone interested in a career in Traditional Chinese Medicine and acupuncture!"},{name:"Kristin Hintz",quote:"The TCM program at CCTCMA has been more than I could ask for! The curriculum is extensive and very challenging but provides an amazing feeling of accomplishment. The Doctors/Instructors are fantastic and are always available to assist the students with the material presented. I would recommend CCTCMA to anyone who has a love for Traditional Chinese Medicine and acupuncture."},{name:"Christina Burns",quote:"The TCM program at the Calgary College of TCM and Acupuncture is fantastic. The teachers are thorough and present their material clearly. They come from a great deal of background knowledge and most have had extensive experience in China and abroad. The curriculum is incomparable to any other in Calgary and the quality of education also far surpasses that of the other schools I have looked into."},{name:"Nicole Mitchelson",quote:"Now completing my 2nd year, the Calgary College of Traditional Chinese Medicine and Acupuncture not only has a well developed course structure, new facilities, the most qualified staff and an internship in China … it's fun. The class size allows me direct access to my instructors and an excellent working environment with my classmates."},{name:"Jennifer Barrow",quote:"The TCM program at CCTCMA is very rewarding! Although can be challenging and hard work…the rewards keep coming… after the first year, my knowledge has greatly increased and I am continually entrigued to keep learning, growing and practicing skills that I learn each day. I suggest this program to anyone interested in a Holistic Professional Academic Program."},{name:"Ran Qian",quote:'I would like to say I am proud to be part of the TCM health care program. In my opinion TCM has the most advanced theory in the health care field, it has been proven over thousands of years in China . TCM will prove itself again in the western world, and we are here to make it happen. I would like to give my thanks to Dr. Du for providing us this great opportunity. I will go through this program and be the witness in the future where the real impact will take place".'}]},cta:{title:"Ready to Start Your Journey in Acupuncture and Massage?",description:"Apply to our programs now, or book an appointment to experience our acupuncture services.",applyButton:"Apply Now",bookButton:"Book Treatment",applyText:"Apply Now",programsText:"View Programs"},contact1:{title:"Visit Our Campus",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7",phone:"1-(403)287-8688",email:"[email protected]",mapTitle:"Find Us on Google Maps",findUs:{title:"Visit Our Campus",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7"},externalLinks:{title:"Professional Organizations"},links:{aaatcmd:"Alberta Association of Acupuncturists and Traditional Chinese Medicine Doctors",ca
106a:"College of Acupuncturists of Alberta",studentAid:"Alberta Student Aid",nhpc:"Natural Health Practitioners of Canada",internship:"Student Internship Program",maple:"Maple Acupuncture and Massage"}}},about:{hero:{title:"About Us",subtitle:"Learn about Calgary College of Traditional Chinese Medicine and Acupuncture's history, mission and values"},navigation:{title:"Quick Navigation"},overview:{title:"About the College",content:`Established in 2003, the Calgary College of Traditional Chinese Medicine and Acupuncture (CCTCMA) is a comprehensive educational institution registered with the Ministry of Advanced Education of Alberta, the College of Acupuncturists of Alberta, Natural Health Practitioners of Canada (NHPC), and the Canadian Massage and Manual Osteopathic Therapists Association (CMMOTA). It seamlessly integrates teaching, medical care, research, and the promotion of traditional Chinese medicine culture.
107
108The college currently offers three programs: the Acupuncture Diploma Program, the 2200-Hour Massage Diploma Program, and the TCM Diploma Program, all conducted in English. Students have the opportunity to apply for scholarships and grants from the Alberta provincial government and the Canadian federal government. Additionally, the college holds approval from the Canadian federal government as a Designated Learning Institution (DLI: O111917070547) for international students.
109
110Nestled in Calgary, recognized as one of the world's wealthiest, safest, and most livable cities, our college enjoys the advantage of a picturesque environment characterized by pristine air and embraced by the breathtaking backdrop of everlasting snow-capped mountains, including the majestic Rocky Mountains and the renowned Banff National Park.`},president:{title:"President's Message",content:`Welcome to the CCTCMA, one of the best Canadian acupuncture schools. We have been providing excellent acupuncture training to our students since 2003. Our Acupuncture Diploma program offers students a high-quality education in acupuncture, comprising in-class courses and hands-on training. Allow them to learn acupuncture, write the Alberta Acupuncture licensing exam, and obtain acupuncture certification in Alberta. Our graduates are confident practitioners of acupuncture and Traditional Chinese Medicine, practicing in Canada and internationally.
111
112Traditional Chinese Medicine (TCM) is a unique and comprehensive healthcare profession that encompasses acupuncture, Chinese herbology, Chinese massage, Qigong, and food therapy. Its immense practical value has been recognized in China and worldwide. Our college offers top-quality, authentic education in Traditional Chinese Medicine (TCM) and acupuncture, preparing students for TCM and acupuncture licensing examinations worldwide. Our goal is to impart the knowledge and skills of TCM and acupuncture to our students, enabling them to practice successfully in the future, anywhere in the world.
113
114Contact us to get further detailed information.
115
116Best wishes for your studies at CCTCMA.
117
118Dr. Frank H. Du, President, Doctor of Acupuncture, M. App.Sc. (Australia). RMT`},faculty:{title:"Faculty Team",content:"Our faculty team consists of senior TCM experts from China and Canada, who have extensive teaching and clinical experience. Each teacher is committed to providing students with the highest quality education and helping them succeed in the field of Traditional Chinese Medicine."},whyChoose:{title:"Why Choose Us",content:`1. Quality Educational Resources: Modern teaching facilities and rich learning resources
1192. Professional Faculty Team: Experienced TCM experts teach in person
1203. Rich Clinical Practice: Abundant clinical internship opportunities
1214. Comprehensive Employment Support: Help students find employment successfully
1225. International Learning Environment: Students from all over the world study together`},goals:{title:"Our Goal",content:"Our goal is to impart the knowledge and skills of TCM and acupuncture to our students, ensuring that they can practice successfully anywhere in the world in the future. Our faculty is highly educated, holding master's and doctorate degrees in acupuncture and TCM, and they have decades of practical experience to share with CCTCMA students"},programs:{title:"The Programs",content:"The Programs offered at CCTCMA provide an authentic education in TCM and acupuncture, and are designed to prepare students for TCM and acupuncture licensing examinations around the world."},college:{title:"About the College",content:`Established in 2003, the Calgary College of Traditional Chinese Medicine and Acupuncture (CCTCMA) is a comprehensive educational institution registered with the Ministry of Advanced Education of Alberta, the College of Acupuncturists of Alberta, Natural Health Practitioners of Canada (NHPC), and the Canadian Massage and Manual Osteopathic Therapists Association (CMMOTA). It seamlessly integrates teaching, medical care, research, and the promotion of traditional Chinese medicine culture.
123
124The college currently offers three programs: the Acupuncture Diploma Program, the 2200-Hour Massage Diploma Program, and the TCM Diploma Program, all conducted in English. Students have the opportunity to apply for scholarships and grants from the Alberta provincial government and the Canadian federal government. Additionally, the college holds approval from the Canadian federal government as a Designated Learning Institution (DLI: O111917070547) for international students. Our esteemed faculty includes professors, associate professors, lecturers, and Ph.D. holders in Traditional Chinese Medicine from around the world, highly esteemed for their expertise. They are passionately dedicated to teaching with enthusiasm, professionalism, and a sincere commitment to helping every student excel in their skills.
125
126Nestled in Calgary, recognized as one of the world's wealthiest, safest, and most livable cities, our college enjoys the advantage of a picturesque environment characterized by pristine air and embraced by the breathtaking backdrop of everlasting snow-capped mountains, including the majestic Rocky Mountains and the renowned Banff National Park. Calgary is renowned for its welcoming atmosphere and has maintained a consistent presence among the top ten most livable cities globally.`},accreditation:{title:"Accreditation",acupuncture:{title:"Acupuncture Diploma",items:["Approved by College of Acupuncturists of Alberta. The College of Acupuncturists of Alberta has the authority to approve acupuncture education programs. Individuals who obtain a diploma from these programs satisfy section 3(a)(1) and 3(b)(1) of the Acupuncturist Professional Regulation.","Alberta Advanced Education (Alberta Learning): The Acupuncture Diploma Program is eligible for full-time post-secondary assistance by Alberta Student Aid.","Calgary College of Traditional Chinese Medicine and Acupuncture's Designated Learning Institution number (DLI#) 
126is O111917070547. A designated learning institution is a school approved by a provincial or territorial government to host international students.","Accepted by Beijing University of Chinese Medicine, China."]},massage:{title:"2200 Hour Massage Diploma",items:["Approved and recognized by NHPC (Natural Health Practitioners of Canada)","Calgary College of Traditional Chinese Medicine and Acupuncture's Designated Learning Institution number (DLI#) is O111917070547. A designated learning institution is a school approved by a provincial or territorial government to host international students.","Alberta Advanced Education: Our Massage Diploma Program is eligible for full-time post-secondary assistance by Alberta Student Aid."]}},testimonials:{kunLi:{name:"Kun Li",text:"My name is Kun Li. I have studied at the Calgary College of TCM and Acupuncture for 3 years. When I was in my second year studying, I started my clinical practice under supervision. When patients said that they felt much better after my treatment, I could not believe it. I thought my patients were just so polite to me until patients brought their mothers, and friends to me. I feel happy and feel pressure as well. I treated lots of patients in my internship and also learned a lot from them. When my treatment does not work, I will dig more and more, and I enjoy it. This is the life that TCM brings to me. I really like it. I am very regretful why I did not study TCM earlier, otherwise, maybe I am one of the famous TCM Doctors, haha……."},yingLi:{name:"Ying Li",text:"My time at the Calgary College of TCM has been one of challenges and constant growth. The coursework was in depth and demanding but the teaching staff were knowledgeable, approachable and supportive. Dr. Du and the rest of the staff always tried to bring out the best in us as students and to help us reach our goals and potential. As classmates we would all support each other and often studied together helping each other to understand difficult concepts. Now I am looking forward to moving into professional practice and to helping others through the wisdom of TCM, a proven tradition over 2500 years old! I have seen firsthand the power of TCM, massage and acupuncture and herbalism and am eager to share what I have learned with those in need of help and am excited by the constant growth and personal fulfillment offered by TCM."},sebastien:{name:"Sebastien",text:"My name is Sebastien, and I went to Beijing, China, for 6 weeks of internship at the China-Japan friendship hospital in the spring of 2015. First of all, this whole experience was definitely very positive. I made a lot of friends, helping me to navigate the city after the initial tour by Dr. Du and Wangpei. And I'm still talking to many of them. There is a lot of pinyin and English in signs in Beijing, which helps a lot. It's fairly easy to get comfortable going around, using the subway system and the maps. Chinese are a pretty friendly bunch and will try to help when asked. The hospital doctors are very nice and open in general, make friends with them and help them. I could observe and had enough time to learn and asks many questions. They are happy to help, some will need more prompting than most, but all can and will try to help as they can. I've had many one-on-one discussions with them about Chinese medicine, their experiences with treating diseases, their learning processes, etc. While I did have a good translator for a while, I found it was better to talk directly with those who could speak good English. This trip was very valuable to get into relationships with many good practitioners of Chinese Medicine and invaluable in experiencing Chinese medicine in a different context and a different way. I would definitely recommend it."},maxSielsky:{name:"Max G. Sielsky",text:"Dear Dr. Du, I would like to thank you for the wonderful learning experience I received at your College. I have to say all your instructors, including yourself, taught in a way that strengthened each and every person-Young or Older. All instructors brought with them a plethora of information from their own clinical skills and knowledge. Each and every instructor cares about his/her students. All their conduct brings harmony and peace which creates a wonderful learning atmosphere. This is very important since Acupuncture is not an easy profession to learn. Not only have I fulfilled all requirements for Acupuncture, but I have also learned even stronger how to be a better practitioner. Each and every instructor teaches in their own unique style. All of them have, including yourself, provided excellent power points, and excellent explanations, and taught the material in such a way to make it interesting and better understood-this facilitated strong application skills. You, your wife, Ling, and all your staff are warm, pleasant, and very excited to be of service to the students and other staff members. One of the things I was most impressed with is the organization and execution of the schedules of classroom instruction and clinical hours making everything work for each student and their subsequent year of learning. Every aspect of scheduling including classroom and clinic and institutional calendars was always sent out in a timely fashion which made arranging plane tickets and scheduling my time back in the States a breeze. I look forward to completing the fourth year of the Doctor of Traditional Chinese Medicine that your school offers. I think you and your wife Ling are two of the finest people I have ever met. Thank y
126ou for your dedication, love of TCM, knowledge, your wonderful gift of being able to grow your field, and the great experience that I have had while being at your school. I have learned so many new and exciting ways to help people which I am very excited about. Thank you to you and your wife, Ling for always going above and beyond in helping make sure each student is not only on track but successful… Thank you and Warm Regards…."},nongluxMacDonald:{name:"Nonglux Mac Donald",text:"Since I first walked into the school to inquire about their programs I was impressed. I had an immediate sense that the school staff was genuinely interested in helping people. That they were motivated to turn out quality health professionals and not profits. Having spent three years of my life at this school my earliest thoughts have been reinforced on a near daily basis, Dr Du is an amassing Doctor and teacher, Dr Du and his wife Ling have a commitment to their craft and concern for their students that is simply amazing . They have been an inspiration to me. I can only dream of following in their large footsteps. All the Doctors have been nothing short of a mentors to me. I have learned so much from them in such a short time. Their strong instruction and the reassuring manner have allowed me to become so confident that I can be a good TCM practitioner that I scarcely recognize myself, Though it has been three years of intense study it has passed very quickly and I have had a lot of fun along the way. As the programs are taught in a clear step by step approach I have never once felt overwhelmed. For anyone looking to attend this school, I would give it the highest recommendation possible. The people here and the programs they teach have transformed my life in the most positive ways possible. You will not be disappointed."}},cta:{title:"Ready to Start Your TCM Journey?",description:"Apply to our programs now and begin your journey in Traditional Chinese Medicine.",applyButton:"Apply Now",contactButton:"Contact Us"},collegeNews:{hero:{title:"College News",subtitle:"Stay updated with the latest news and announcements from Calgary College of Traditional Chinese Medicine and Acupuncture."},articles:[{title:"Academic Exchange and Teaching Guidance Visit",date:"November 5, 2025",content:"From November 2 to 5, 2025, our Advisory Committee Member Dr. Huiying Wang visited the Calgary College of Traditional Chinese Medicine and Acupuncture for an academic exchange and teaching guidance. During her visit, Dr. Wang held in-depth discussions with President Du on the latest developments of Traditional Chinese Medicine (TCM) in both China and Canada, as well as on teaching innovations and educational strategies. Her professional insights provided valuable direction and meaningful guidance for the college’s future teaching and academic development.",category:"Academic Exchange",image:"/images/Changes_Requested_Oct29_2025/photo.jpg"},{title:"CCTCMA Annual Food Drive",date:"September 19, 2022",excerpt:"Help your fellow Calgarians this winter. This year the Calgary College of TCM and Acupuncture will be working with the Calgary Food Bank.",content:"Photo credit to Neil Zeller and the Calgary Food Bank. Help your fellow Calgarians this winter. This year the Calgary College of TCM and Acupuncture will be working with the Calgary Food Bank to support our community during the challenging winter months.",category:"Community Service"},{title:"Coming AAATCMD 2024 AGM",date:"May 3, 2022",excerpt:"Join us for the Alberta Association of Acupuncturists and Traditional Chinese Medical Doctors Annual General Meeting.",content:"Location: Online Zoom meeting. Date and Time: May 29, 2024 1 pm to 4:30 pm MDT. This important meeting will cover updates on the profession, regulatory changes, and opportunities for continuing education.",category:"Professional Development"},{title:"Announcement for 2022 Graduation Ceremony",date:"May 3, 2022",excerpt:"Celebrating our graduates' achievements in Traditional Chinese Medicine and Acupuncture.",content:"The 2022 Graduation Ceremony will be held on Saturday, June 25th, 2022, at Fort Calgary. We are proud to celebrate the achievements of our graduating class and their dedication to the field of Traditional Chinese Medicine and Acupuncture.",category:"Graduation"}],share:{label:"Share this article:"},newsletter:{title:"Stay Updated with CCTCMA News",description:"Subscribe to our newsletter to receive the latest news, updates, and announcements from our college.",button:"Subscribe",privacy:"We respect your privacy and will never share your email address."},contact:{title:"Have Questions About Our News?",description:"Contact us if you have any questions about our news or would like more information.",email:"Email",phone:"Phone"}}},programs:{hero:{title:"Our Programs",mainTitle:"Our Programs Are Open For New Applications",subtitle:"Take your first steps toward an exciting career in Traditional Chinese Medicine and Acupuncture with our authentic and expertly curated diploma programs!"},acupuncture:{title:"Acupuncture Diploma",duration:"3 Years",description:"Acupuncture Diploma Program is a three-year full-time program. Students will learn acupuncture, Chinese herbs, TCM foundation, Chinese massage (Tuina), biomedicine, safety and regulation of acupuncture, as well as all other related courses. Intern clinic practice will also be as an important part in this program.",highlights:["Comprehensive TCM theory foundation","Systematic meridian and acupoint learning","Rich clinical practice opportunities","Professional instructor guidance","Modern teaching facilities"],features:{integratedStudy:{title:"Integrated Study",description:`
127Our acupuncture program combines acupuncture and TCM theory with hands-on practice to create a rewarding and comprehensive learning experience, that will prepare you for real-world applications.`},financialAssistance:{title:"Financial Assistance",description:`
128Our full-time acupuncture students are eligible for student aid through {{link:Alberta Student Aid:https://studentaid.alberta.ca/}}.`},teachingExperience:{title:"Decades of Teaching Experience",description:`
129Join us and our instructor, all of whom have decades of teaching experience, both in Canada and internationally.`},licenseExamReady:{title:"License Exam Ready",description:`
130CCTCMA offers refresher courses and other types of counseling services to assist graduate students with their upcoming licensing exams.`},handsOnLearning:{title:"Hands On Learning",description:`
131Our onsite internships and practicums provide our students with hands-on experience in acupuncture, herbology, and Tuina massage.`},internationalInternship:{title:"International Internship",description:`
132CCTCMA is partnered with the Beijing University of Chinese Medicine, as well as the {{link:China-Japan Friendship Hospital:https://www.zryhyy.com.cn/}}. Students can inquire with administration regarding international internships etc.`}},curriculum:{title:"Acupuncture Program Curriculum",year1FirstSemester:{title:"Year 1 - First Semester",courses:[{id:"S101",name:"The Foundation of TCM"},{id:"S103",name:"Chinese Acupuncture (1)"},{id:"S121",name:"Anatomy and Physiology (1)"},{id:"S123",name:"Medical Terminology"},{id:"S131",name:"Chinese Language and TCM History"},{id:"S132",name:"TCM and Acupuncture Regulation, Ethics, Communication Skills, and Clean Needle Technique"}]}
132,year1SecondSemester:{title:"Year 1 - Second Semester",courses:[]},year2FirstSemester:{title:"Year 2 - First Semester",courses:[]},year2SecondSemester:{title:"Year 2 - Second Semester",courses:[]},year3FirstSemester:{title:"Year 3 - First Semester",courses:[]},year3SecondSemester:{title:"Year 3 - Second Semester",courses:[]}}},tcm:{title:"TCM Diploma",duration:"4 Years",description:"TCM Diploma Program is a four-year full-time program. Students will have the opportunities to learn the advanced TCM courses, such as TCM Psychology, TCM preventions, TCM Classics, and all relevant advanced TCM knowledge and skills. Students also need to learn the advanced western internal medicine as well.",highlights:["Advanced TCM theory studies","Comprehensive herbal medicine training","Extensive clinical practice","International learning environment","Professional career support"],features:{integratedStudy:{title:"Integrated Study",description:`
133This program offers a comprehensive learning experience with intensive theoretical and practical courses. Students will have the opportunity to go to China for their internship.`},teachingExperience:{title:"Decades of Teaching Experiences",description:`
134Majority of our Faculty have decades of teaching experience locally and internationally.`},handsOnLearning:{title:"Hands On Learning",description:`
135Our onsite teaching clinic and the teaching hospital in China provides students the hands-on learning experience.`},internationalInternship:{title:"International Internship",description:`
136Opportunities for study in China are available.`}},curriculum:{title:"TCM Program Curriculum",firstSemester:{title:"Year 1 - First Semester"},secondSemester:{title:"Year 1 - Second Semester"},thirdSemester:{title:"Year 2 - First Semester"},fourthSemester:{title:"Year 2 - Second Semester"},fifthSemester:{title:"Year 3 - First Semester"},sixthSemester:{title:"Year 3 - Second Semester"},seventhSemester:{title:"Year 4 - First Semester"},eighthSemester:{title:"Year 4 - Second Semester"},year1FirstSemester:{title:"Year 1 - First Semester",courses:[{id:"S101",name:"The Foundation of TCM"},{id:"S103",name:"Chinese Acupuncture (1)"},{id:"S121",name:"Anatomy and Physiology (1)"},{id:"S123",name:"Medical Terminology"},{id:"S131",name:"Chinese Language and TCM History"},{id:"S132",name:"TCM and Acupuncture Regulation, Ethics, Communication Skills, and Clean Needle Technique"}]},year1SecondSemester:{title:"Year 1 - Second Semester",courses:[{id:"S102",name:"Diagnosis of TCM"},{id:"S104",name:"Chinese Acupuncture (2)"},{id:"S105",name:"Chinese Herbology"},{id:"S122",name:"Anatomy and Physiology (2)"}]},year2FirstSemester:{title:"Year 2 - First Semester",courses:[{id:"S201",name:"Chinese Acupuncture (3)"},{id:"S203",name:"Chinese Herbal Formulas"},{id:"S205",name:"Massage (1)"},{id:"S221",name:"Pathology and Microbiology (1)"},{id:"S321",name:"Western Medical Diagnosis"},{id:"S241",name:"Clinical Practicum (1)"}]},year2SecondSemester:{title:"Year 2 - Second Semester",courses:[{id:"S202",name:"Chinese Acupuncture (4)"},{id:"S204",name:"Internal Medicine"},{id:"S206",name:"Massage (2)"},{id:"S207",name:"Dietary Therapy"},{id:"S222",name:"Pathology and Microbiology (2)"},{id:"S223",name:"Western Pharmacology"},{id:"S242",name:"Clinical Practicum (2)"}]},year3FirstSemester:{title:"Year 3 - First Semester",courses:[{id:"S301",name:"Chinese Acupuncture (5)"},{id:"S304",name:"TCM Sports Medicine"},{id:"S305",name:"Case Study (1)"},{id:"S307",name:"Pediatrics"},{id:"S341",name:"Clinical Practicum (3)"}]},year3SecondSemester:{title:"Year 3 - Second Semester",courses:[{id:"S302",name:"Acupuncture (6)"},{id:"S303",name:"TCM External & Dermatology"},{id:"S306",name:"TCM Gynecology"},{id:"S310",name:"Introduction To Business Management"},{id:"S311",name:"Case Studies (2)"},{id:"S331",name:"Safety & Jurisprudence"},{id:"S342",name:"Clinical Practicum (4)"}]},year4FirstSemester:{title:"Year 4 - First Semester",courses:[{id:"S401",name:"Advanced TCM Theory"},{id:"S403",name:"TCM Psychology"},{id:"S405",name:"TCM Research Methods"},{id:"S407",name:"Advanced Clinical Practice"},{id:"S409",name:"TCM Classics (3)"},{id:"S441",name:"Clinical Practicum (5)"}]}
136,year4SecondSemester:{title:"Year 4 - Second Semester",courses:[{id:"S402",name:"TCM Prevention and Health Maintenance"},{id:"S404",name:"Advanced Internal Medicine"},{id:"S406",name:"TCM Dissertation"},{id:"S408",name:"Professional Development"},{id:"S410",name:"Board Exam Preparation"},{id:"S442",name:"Clinical Practicum (6)"}]}}},massage:{title:"2200 Hr Massage Diploma",duration:"2 Years",description:"Our 2200-Hour massage diploma program is a two-year, full-time program and it has been approved and recognized by the {{link:Natural Health Practitioners of Canada (NHPC):https://www.nhpcanada.org/home}} and is under the Private Vocational Training Act of Alberta.",highlights:["Comprehensive anatomy and physiology","Professional massage techniques","Extensive clinical practice","Modern teaching facilities","Professional career support"],features:{integratedStudy:{title:"Integrated Study",description:`
137Our 2200 Hour Massage Diploma Program offers a comprehensive educational experience in Swedish massage, Chinese massage (Tuina), biomedicine, and safety and jurisprudence regarding to the massage practice in Canada.`},financialAssistance:{title:"Financial Assistance",description:`
138Our 2200 Hour Massage Program is eligible for full-time post-secondary assistance by {{link:Alberta Student Aid:https://studentaid.alberta.ca/}}.`},professionalRecognition:{title:"Professional Association Recognition",description:`
139The 2200 Hour Massage Diploma Program has been approved by the NHPC Credentials Committee and recognized by the NHPC. The Committee has determined that the CCTCMA's curriculum meets the industry standard for massage therapy education. CCTCMA students and graduates will be eligible for membership with the NHPC based on their attendance and completion of the Massage Therapy Diploma Program (2200 Hours).`},handsOnLearning:{title:"Hands On Learning",description:`
140The theoretical courses and onsite teaching clinic provide the hand on learning experience for the candidates of the Massage Diploma Program.`}},knowYourProgram:{title:"Know Your Program"},curriculum:{title:"Massage Diploma Program Curriculum",yearOne:{title:"Year One",totalHours:"1100",courses:[{id:"MT 101",name:"Medical Terminology"},{id:"MT 102",name:"Anatomy and Physiology"},{id:"MT 201",name:"Musculoskeletal Anatomy"},{id:"MT 202",name:"Neuroanatomy"},{id:"MT 104",name:"Massage Theory and Practice 1"},{id:"MT 105",name:"Ethics and Communications"},{id:"MT 107",name:"Business Skills"},{id:"MT 109",name:"Massage Theory and Practice 2"},{id:"MT 110",name:"Massage Clinical Practicum 1"}]},yearTwo:{title:"Second Year",totalHours:"1100",courses:[{id:"MT 106",name:"Pathology"},{id:"MT 108",name:"Physical Diagnosis/Case History Taking"},{id:"MT 203",name:"Massage Theory and Practice 3"},{id:"MT 204",name:"Massage Theory and Practice 4"},{id:"MT 210",name:"Massage Clinical Practicum 2"},{id:"MT 205",name:"Orthopedic Physical Diagnosis/ Sport Injury"},{id:"MT 206",name:"Introduction to Internal Medicine and Surgery"},{id:"MT 207",name:"Massage Theory and Practice 5"},{id:"MT 208",name:"Massage Theory and Practice 6"},{id:"MT 211",name:"Massage Clinical Practicum 3"}]}}},cta:{title:"Visit our campus or book a treatment!",button:"Call 403-287-8688"},learnMore:"LEARN MORE ABOUT THIS PROGRAM",details:{notFound:"Program Not Found",backToPrograms:"Back to Programs",courseDuration:"Course Duration:",programIntro:"Program Introduction",curriculum:"Curriculum",admissionReqs:"Admission Requirements",careerProspects:"Career Prospects",quickActions:"Quick Actions",applyNow:"Apply Now",inquireDetails:"Inquire Details",relatedResources:"Related Resources",admissionDetails:"Admission Requirements Details",tuitionInfo:"Tuition Information",internationalInfo:"International Student Information",duration:"Program Duration",bookConsultation:"Book Consultation",contactInfo:"Contact Information",applyOnlineNow:"Apply Online Now!",locatedInCalgary:"Located in beautiful Calgary, Alberta, Canada",bestAcupuncturePrograms:"One of the best acupuncture programs in Canada",onlineApplication:"Online Application",visitCampusOrBook:"Visit our campus or book a treatment!",callPhone:"Call 1-403-287-8688",whyChooseCCTCMA:"Why Choose CCTCMA?",whyChooseDescription:"We provide our students with high quality education in acupuncture and Traditional Chinese Medicine. Our standards of education are comparable to Acupuncture and TCM programs offered in China.",whatStudentsSay:"What Our Students Say",graduateExperiences:"Hear from our graduates about their transformative experiences",programIntroVideo:"Program Introduction Video",clickToLearnMore:"Click to learn more about this program",acupuncture:{title:"Acupuncture Diploma",duration:"3 Years",description:"Acupuncture Diploma Program is a three-year full-time program. Students will learn acupuncture, Chinese herbs, TCM foundation, Chinese massage (Tuina), biomedicine, safety and regulation of acupuncture, as well as all other related courses. Intern clinic practice will also be as an important part in this program.",curriculum:{title:"Acupuncture Program Curriculum",firstSemester:{title:"Year 1 - First Semester",courses:[{id:"S101",name:"The Foundation of TCM"},{id:"S103",name:"Chinese Acupuncture (1)"},{id:"S121",name:"Anatomy and Physiology (1)"},{id:"S123",name:"Medical Terminology"},{id:"S131",name:"Chinese Language and TCM History"},{id:"S132",name:"TCM and Acupuncture Regulation, Ethics, Communication Skills, and Clean Needle Technique"}]}
140,secondSemester:{title:"Year 1 - Second Semester",courses:[{id:"S102",name:"Diagnosis of TCM"},{id:"S104",name:"Chinese Acupuncture (2)"},{id:"S105",name:"Chinese Herbology"},{id:"S122",name:"Anatomy and Physiology (2)"}]},thirdSemester:{title:"Year 2 - First Semester",courses:[{id:"S201",name:"Chinese Acupuncture (3)"},{id:"S203",name:"Chinese Herbal Formulas"},{id:"S205",name:"Massage (1)"},{id:"S221",name:"Pathology and Microbiology (1)"},{id:"S321",name:"Western Medical Diagnosis"},{id:"S241",name:"Clinical Practicum (1)"}]},fourthSemester:{title:"Year 2 - Second Semester",courses:[{id:"S202",name:"Chinese Acupuncture (4)"},{id:"S204",name:"Internal Medicine"},{id:"S206",name:"Massage (2)"},{id:"S207",name:"Dietary Therapy"},{id:"S222",name:"Pathology and Microbiology (2)"},{id:"S223",name:"Western Pharmacology"},{id:"S242",name:"Clinical Practicum (2)"}]},fifthSemester:{title:"Year 3 - First Semester",courses:[{id:"S301",name:"Chinese Acupuncture (5)"},{id:"S304",name:"TCM Sports Medicine"},{id:"S305",name:"Case Study (1)"},{id:"S307",name:"Pediatrics"},{id:"S341",name:"Clinical Practicum (3)"}]},sixthSemester:{title:"Year 3 - Second Semester",courses:[{id:"S302",name:"Acupuncture (6)"},{id:"S303",name:"TCM External & Dermatology"},{id:"S306",name:"TCM Gynecology"},{id:"S310",name:"Introduction To Business Management"},{id:"S311",name:"Case Studies (2)"},{id:"S331",name:"Safety & Jurisprudence"},{id:"S342",name:"Clinical Practicum (4)"}]}},requirements:["High school graduation or equivalent","English proficiency: IELTS 6.0 or equivalent","Pass admission interview","Good health, no infectious diseases"],career:["Acupuncturist","TCM Clinic Owner","Health Consultant","TCM Educator"],features:{integratedStudy:{title:"Integrated Study",description:`
141Our acupuncture program combines acupuncture and TCM theory with hands-on practice to create a rewarding and comprehensive learning experience, that will prepare you for real-world applications.`},financialAssistance:{title:"Financial Assistance",description:`
142Our full-time acupuncture students are eligible for student aid through {{link:Alberta Student Aid:https://studentaid.alberta.ca/}}.`},teachingExperience:{title:"Decades of Teaching Experience",description:`
143Join us and our instructor, all of whom have decades of teaching experience, both in Canada and internationally.`},licenseExamReady:{title:"License Exam Ready",description:`
144CCTCMA offers refresher courses and other types of counseling services to assist graduate students with their upcoming licensing exams.`},handsOnLearning:{title:"Hands On Learning",description:`
145Our onsite internships and practicums provide our students with hands-on experience in acupuncture, herbology, and Tuina massage.`},internationalInternship:{title:"International Internship",description:`
146CCTCMA is partnered with the Beijing University of Chinese Medicine, as well as the {{link:China-Japan Friendship Hospital:https://www.zryhyy.com.cn/}}. Students can inquire with administration regarding international internships etc.`}}},tcm:{title:"TCM Diploma",duration:"4 Years",description:"TCM Diploma Program is a four-year full-time program. Students will have the opportunities to learn the advanced TCM courses, such as TCM Psychology, TCM preventions, TCM Classics, and all relevant advanced TCM knowledge and skills. Students also need to learn the advanced western internal medicine as well.",curriculum:{title:"TCM Program Curriculum",firstSemester:{title:"Year 1 - First Semester",courses:[{id:"S101",name:"The Foundation of TCM"},{id:"S103",name:"Chinese Acupuncture (1)"},{id:"S121",name:"Anatomy and Physiology (1)"},{id:"S123",name:"Medical Terminology"},{id:"S131",name:"Chinese Language and TCM History"},{id:"S132",name:"TCM and Acupuncture Regulation, Ethics, Communication Skills, and Clean Needle Technique"}]},secondSemester:{title:"Year 1 - Second Semester",courses:[{id:"S102",name:"Diagnosis of TCM"},{id:"S104",name:"Chinese Acupuncture (2)"},{id:"S105",name:"Chinese Herbology"},{id:"S122",name:"Anatomy and Physiology (2)"}]},thirdSemester:{title:"Year 2 - First Semester",courses:[{id:"S201",name:"Chinese Acupuncture (3)"},{id:"S203",name:"Chinese Herbal Formulas"},{id:"S205",name:"Massage (1)"},{id:"S221",name:"Pathology and Microbiology (1)"},{id:"S321",name:"Western Medical Diagnosis"},{id:"S241",name:"Clinical Practicum (1)"}]}
146,fourthSemester:{title:"Year 2 - Second Semester",courses:[{id:"S202",name:"Chinese Acupuncture (4)"},{id:"S204",name:"Internal Medicine"},{id:"S206",name:"Massage (2)"},{id:"S207",name:"Dietary Therapy"},{id:"S222",name:"Pathology and Microbiology (2)"},{id:"S223",name:"Western Pharmacology"},{id:"S242",name:"Clinical Practicum (2)"}]},fifthSemester:{title:"Year 3 - First Semester",courses:[{id:"S301",name:"Chinese Acupuncture (5)"},{id:"S304",name:"TCM Sports Medicine"},{id:"S305",name:"Case Study (1)"},{id:"S307",name:"Pediatrics"},{id:"S341",name:"Clinical Practicum (3)"}]},sixthSemester:{title:"Year 3 - Second Semester",courses:[{id:"S302",name:"Acupuncture (6)"},{id:"S303",name:"TCM External & Dermatology"},{id:"S306",name:"TCM Gynecology"},{id:"S310",name:"Introduction To Business Management"},{id:"S311",name:"Case Studies (2)"},{id:"S331",name:"Safety & Jurisprudence"},{id:"S342",name:"Clinical Practicum (4)"}]},seventhSemester:{title:"Year 4 - First Semester",courses:[{id:"S401",name:"TCM Classics – Huang Di Nei Jing, Su Wen and Wen Bing Xue"},{id:"S402",name:"TCM Psychology"},{id:"S404",name:"Advanced Acupuncture and TCM"},{id:"S405",name:"Botanical Pharmacology"},{id:"S406",name:"TCM Preventive Medicine"},{id:"S421",name:"Western Internal Medicine"},{id:"S441",name:"Clinical Practicum (5)"}]},eighthSemester:{title:"Year 4 - Second Semester",courses:[{id:"S442",name:"Clinical Practicum (6)"}]}},requirements:["Bachelor's degree or equivalent","English proficiency: IELTS 6.5 or equivalent","Pass admission interview and written test","Good health, no infectious diseases","Relevant work experience preferred"],career:["TCM Expert","TCM Researcher","TCM Educator","TCM Clinic Owner","Health Consultant"],features:{integratedStudy:{title:"Integrated Study",description:`
147Our acupuncture program combines acupuncture and TCM theory with hands-on practice to create a rewarding and comprehensive learning experience, that will prepare you for real-world applications.`},financialAssistance:{title:"Financial Assistance",description:`
148Our full-time acupuncture students are eligible for student aid through {{link:Alberta Student Aid:https://studentaid.alberta.ca/}}.`},teachingExperience:{title:"Decades of Teaching Experience",description:`
149Join us and our instructor, all of whom have decades of teaching experience, both in Canada and internationally.`},licenseExamReady:{title:"License Exam Ready",description:`
150CCTCMA offers refresher courses and other types of counseling services to assist graduate students with their upcoming licensing exams.`},handsOnLearning:{title:"Hands On Learning",description:`
151Our onsite internships and practicums provide our students with hands-on experience in acupuncture, herbology, and Tuina massage.`},internationalInternship:{title:"International Internship",description:`
152CCTCMA is partnered with the Beijing University of Chinese Medicine, as well as the {{link:China-Japan Friendship Hospital:https://www.zryhyy.com.cn/}}. Students can inquire with administration regarding international internships etc.`}}},massage:{title:"2200 Hr Massage Diploma",duration:"2 Years",description:"Our 2200-Hour massage diploma program is a two-year, full-time program and it has been approved and recognized by the Natural Health Practitioners of Canada (NHPC) and is under the Private Vocational Training Act of Alberta.",curriculum:{title:"Massage Diploma Program Curriculum",yearOne:{title:"Year One",totalHours:"1100",courses:[{id:"MT 101",name:"Medical Terminology"},{id:"MT 102",name:"Anatomy and Physiology"},{id:"MT 201",name:"Musculoskeletal Anatomy"},{id:"MT 202",name:"Neuroanatomy"},{id:"MT 104",name:"Massage Theory and Practice 1"},{id:"MT 105",name:"Ethics and Communications"},{id:"MT 107",name:"Business Skills"},{id:"MT 109",name:"Massage Theory and Practice 2"},{id:"MT 110",name:"Massage Clinical Practicum 1"}]},yearTwo:{title:"Second Year",totalHours:"1100",courses:[{id:"MT 106",name:"Pathology"},{id:"MT 108",name:"Physical Diagnosis/Case History Taking"},{id:"MT 203",name:"Massage Theory and Practice 3"},{id:"MT 204",name:"Massage Theory and Practice 4"},{id:"MT 210",name:"Massage Clinical Practicum 2"},{id:"MT 205",name:"Orthopedic Physical Diagnosis/ Sport Injury"},{id:"MT 206",name:"Introduction to Internal Medicine and Surgery"},{id:"MT 207",name:"Massage Theory and Practice 5"},{id:"MT 208",name:"Massage Theory and Practice 6"},{id:"MT 211",name:"Massage Clinical Practicum 3"}]}},requirements:["High school graduation or equivalent","English proficiency: IELTS 5.5 or equivalent","Pass admission interview","Good health, no infectious diseases"],career:["Massage Therapist","Sports Massage Therapist","TCM Massage Therapist","Health Consultant"]}}},programDetail:{knowYourProgram:"Know Your Program",totalHours:"Total Hours: {{totalHours}}",courseId:"Course ID",courseName:"Course Name",massage:{title:"2200 Hr Massage Diploma",headerDuration:": 2 Years",duration:"2 Years"},contact:{phone:"(403) 287-8688",email:"[email protected]",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7"},sidebar:{duration:"Program Duration",applyNow:"Apply Now",bookConsultation:"Book Consultation",contactInfo:"Contact Information"},section:{curriculum:"Curriculum"},courseDuration:{label:"Course Duration"},notFound:{title:"Program Not Found",backButton:"Back to Programs"}},clinic:{hero:{title:"College Clinic",subtitle:"The Calgary College of Traditional Chinese Medicine and Acupuncture is pleased to offer treatments in all areas of TCM, including Acupuncture, Cupping, Tuina Massage, and Chinese Herbal Treatments."},services:{title:"Our Services",acupuncture:{title:"Acupuncture Treatment",description:"Our acupuncture treatment services are provided by experienced teachers and senior students, including:",items:["Traditional Acupuncture","Electroacupuncture","Ear Acupuncture","Facial Acupuncture","Cupping"]},tcm:{title:"TCM Diagnosis and Treatment",description:"Our TCM diagnosis and treatment services include:",items:["TCM Diagnosis","Herbal Prescriptions","TCM Health Guidance","Dietary Therapy","Lifestyle Recommendations"]},massage:{title:"Massage Therapy",description:"Our massage therapy services include:",items:["TCM Massage","Sports Massage","Relaxation Massage","Therapeutic Massage","Special Population Massage"]}},benefits:{title:"Why Choose Our Clinic",professional:{title:"Supervised Treatment",description:"Patients can access discounted treatments through our Teaching Clinics, which are performed by our Interns and supervised by our seasoned staff of professional doctors and acupuncturists."}
152,quality:{title:"Experienced Doctors",description:"In addition, patients can also book treatments with many of our experienced, veteran Doctors and TCM practitioners."},affordable:{title:"Affordable Options",description:"Discounted treatments available through our supervised student clinic"},location:{title:"Convenient Location",description:"#107, 4014 Macleod Trail South, Calgary, Alberta, Canada T2G 2R7"}},booking:{title:"Book Treatment",description:"We offer both online booking and phone booking. You can choose the method that suits you best to book treatment.",onlineButton:"Book Online",phoneButton:"Phone Booking"},hours:{title:"Clinic Hours",weekdays:"Monday to Friday",saturday:"Saturday",sunday:"Sunday",closed:"Closed",weekdaysTime:"9:00 AM - 5:00 PM",saturdayTime:"Closed",phone:"(403)287-8688",parkingInfo:"On-site parking is available. Please be advised that all on-site parking is managed by Indigo, and as such, anyone using the parking lot will need to register their car and pay the applicable fees."},cta:{title:"Ready to Start Your Healing Journey?",description:"Book an appointment with our experienced practitioners and take the first step towards better health through Traditional Chinese Medicine.",bookButton:"Book Appointment",contactButton:"Contact Us"}},admission:{hero:{title:"Admission Information",subtitle:"Start your journey in acupuncture, massage and TCM"}
152,applyProcess:{title:"Application Process"},information:{title:"Admission Information"},sections:{requirements:{title:"Admission Requirements",content:`Our admission requirements are designed to ensure student success:
153
154• High school diploma with 60% average in Grade 12 English, Math, and Science
155• English proficiency (TOEFL 560/220 or IELTS 5.0 for non-native speakers)
156• Minimum age 18 for Massage Program, 21+ for mature student admission
157• Successful admission interview for all programs
158• Life experience considered for mature students`,link:"Learn More"},tuition:{title:"Tuition & Financial Aid",content:`We make quality education accessible through flexible payment and aid options:
159
160• Flexible tuition installment plans to spread costs
161• Government student aid and student loans assistance
162• Work-study programs for hands-on experience
163• Early application discounts and payment incentives
164• Financial counseling and budget planning support`,link:"Learn More"},international:{title:"International Students",content:`We provide comprehensive support for international students:
165
166• Student visa application guidance and documentation support
167• Accommodation arrangements with local housing partners
168• Airport pick-up service and orientation programs
169• English language support and tutoring services
170• Cultural adaptation guidance and community integration`,link:"Learn More"}},applicationSteps:{step1:{title:"Submit Application",description:"Fill out the online application form and submit required documents"},step2:{title:"Admission Interview",description:"Attend an admission interview to demonstrate your motivation and potential"},step3:{title:"Admission Offer",description:"After receiving the admission offer, confirm your enrollment"},step4:{title:"Register for Courses",description:"Complete course registration and tuition payment"}},cta:{title:"Ready to start your TCM journey?",description:"Apply to our programs now, or contact our admissions advisor for more information.",applyButton:"Apply Now",contactButton:"Contact Admissions Advisor"},apply:{messages:{submissionError:"Submission failed. Please try again.",successTitle:"Application Submitted Successfully!",successMessage:"Thank you for your application. We will review your submission and contact you within 2-3 business days.",submitAnother:"Submit Another Application"}},requirements:{hero:{title:"Admission Requirements",subtitle:"Detailed information about our admission criteria and requirements"},acupuncture:{title:"Acupuncture and TCM Diploma Programs"},standardAdmission:{title:"》Standard Admission",content:`To apply for the Acupuncture Diploma Program and TCM Diploma Program with CCTCMA, prospective students must:
171
172• Have completed a high school diploma or other equivalent education. Transcript verification will be required and should include all of Grade 12 English, Grade 12 Math and Grade 12 Science with a minimum grade of 60%.
173
174• Submit a completed application form, plus a Personal Statement.
175
176• Submit two recommendation letters.
177
178• Complete a successful interview with CCTCMA administration.
179
180Applicants who do not submit transcripts from an institution located in a primarily English-speaking country will require proof of English Language proficiency. See the English Language Proficiency Requirements below for more information.`},matureAdmission:{title:"》Mature Student Admission",content:`Mature student admission is a special admission process for applicants who:
181
182• Are not recent high school graduates (aged 21 or older).
183
184• Have not completed high school or haven't been in school for several years.
185
186• May not meet traditional academic requirements but bring life experience, work history, or non-traditional educational backgrounds.
187
188Mature students may be assessed for admission using alternative criteria at the discretion of CCTCMA administration, including but not limited to:
189
190• An interview with school administration.
191
192• Consideration of other educational experience for advanced credit.
193
194Please note: CCTCMA has advisors specifically for mature students. Please inquire with us directly so we can help assess your eligibility and guide you through the process.
195
196Applicants who do not submit transcripts from an institution located in a primarily English-speaking country will require proof of English L
196anguage proficiency. See the English Language Proficiency Requirements below for more information.`},massage:{title:"Massage Diploma Program",standardAdmission:{title:"》Standard Admission",content:`All students must:
197
198• Be at least 18 years of age.
199
200• Have obtained a high school diploma or completed other equivalent education. Transcript verification will be required.
201
202• Complete a successful interview with CCTCMA administration.
203
204Applicants who do not submit transcripts from an institution located in a primarily English-speaking country will require proof of English Language proficiency. See the English Language Proficiency Requirements below for more information.`},matureAdmission:{title:"》Mature Student Admission",content:`Mature students may be assessed for admission using alternative criteria at the discretion of CCTCMA administration, including but not limited to:
205
206• An interview with school administration.
207
208• Consideration of other educational experience for advanced credit.
209
210Please note: CCTCMA has advisors specifically for mature students. Please inquire with us directly so we can help assess your eligibility and guide you through the process.`}},english:{title:"English Language Proficiency Requirements",intro:`Please read the following section carefully. All instruction at CCTCMA is conducted in English. We require all prospective students to demonstrate the required level of English proficiency to ensure successful learning.
211
212Applicants who are unsure which English proficiency pathway applies to them should contact CCTCMA before submitting their application. Questions may be directed to [email protected].`,testTable:{test:"Test",minimumScore:"Minimum Score Required"},acupunctureProgram:{title:"》Acupuncture Program",intro:"English is the primary language of instruction. Prospective students must demonstrate the required level of English proficiency through one of the methods below.",priorEducation:{title:"Prior Education in an English-Speaking Country",content:`• Complete at least one consecutive year of full-time study in Canada, the United States, the United Kingdom, Australia, New Zealand, or another approved English-speaking country.
213
214• Complete study at a recognized post-secondary institution, university, or other approved higher-education institution.`},approvedTests:{title:"Approved English Proficiency Tests",content:"Applicants may also qualify by meeting the minimum score for any of the approved English proficiency tests listed below."},note:`Applicants to the Acupuncture and TCM Diploma Program must meet the English language proficiency requirement through prior education or an approved English proficiency test.
215
216No exceptions to the above can be made for the Acupuncture and TCM diploma programs.`},massageProgram:{title:"》2200-Hour Massage Program",intro:"English is the primary language of instruction. Prospective students must demonstrate the required level of English proficiency through one of the methods below.",priorEducation:{title:"Prior Education in an English-Speaking Country",content:`• Complete at least one consecutive year of full-time study in Canada, the United States, the United Kingdom, Australia, New Zealand, or another approved English-speaking country.
217
218• Complete study at a recognized post-secondary institution, university, or other approved higher-education institution.`},approvedTests:{title:"Approved English Proficiency Tests",content:"Applicants may also qualify by meeting the minimum score for any of the approved English proficiency tests listed below."},alternatives:{title:"Alternative Demonstrations of English Proficiency",content:`Formal English language requirements may be waived on a case-by-case basis where an applicant demonstrates, through alternative means acceptable to CCTCMA administration, a level of English language proficiency sufficient to meet the requirements of the program.
219
220CCTCMA may assess requests for alternative proof of English proficiency using one or more of the following as evidence:
221
222• An in-person or virtual interview.
223
224• A writing sample or additional English-language assessment.
225
226• Proof of long-term work or study in an English-language environment.
227
228• An official letter of recommendation from an English teacher, guidance counsellor, principal, or headmaster confirming that the applicant’s English proficiency is sufficient for successful completion of the program. The letter should be submitted by email and include the writer’s contact information, preferably a phone number and email address.
229
230• An official transcript showing completed courses, courses in progress, and anticipated grades. To be considered official, the transcript must be submitted in a sealed school envelope and mailed directly from the school to CCTCMA; and
231
232• Any additional evidence of English competence, such as achievement test scores.`}},contact:"Alternative assessment requests must include all required documents and the applicant’s student number. Requests may be emailed to [email protected]. Applicants are strongly encouraged to meet the English language requirement through one of the approved methods above. Submitting a request does not guarantee approval."},cta:{title:"Ready to Apply?",description:"Now that you understand our admission requirements, take the next step towards your TCM education.",applyButton:"Apply Now",contactButton:"Contact Admissions"}},international:{meta:{title:"International Students",description:"Comprehensive information for international students including admission requirements, visa procedures, and support services.",keywords:"international students, study permit, DLI, visa, Calgary, TCM, acupuncture"},hero:{title:"International Students",subtitle:"Welcome to Calgary College of Traditional Chinese Medicine and Acupuncture"},dli:{title:"Designated Learning Institution (DLI)"},intro:{title:"1. Introduction",content:`As per current Immigration, Refugees and Citizenship Canada (IRCC) guidelines, international students graduating from licensed programs at a private career college in Alberta are not eligible for a Post-Graduation Work Permit (PGWP).
233
234CCTCMA welcomes applications from all international students. There is no admission limitation on the basis of provincial residence or citizenship.
235
236The following programs are Designated Learning Programs and are eligible to re
236ceive foreign nationals on a study permit:
237
238• Acupuncture Diploma Program
239• 2200 Hour Massage Therapy Program`},admission:{title:"2. Admission",general:{title:"General Admission Requirements",content:`CCTCMA accepts applications of Acupuncture Diploma Program and TCM Diploma Program from students who meet all of the following criteria:
240
241• A sincere interest in TCM or acupuncture
242• At least eighteen (18) years old
243• Have completed high school education in Alberta or equivalent, with a 60% average or better in Grade 12 English, Grade 12 Math and Grade 12 Science
244• Out of high school for at least two years OR successful completion of one year of post-secondary education verified by transcript
245• For applicants whose first language is not English, proof of a successful result in either the TOFEL 560/220 OR IELTS 5.0 exams are required. See the English Language Proficiency Requirements for more details
246• A successful interview by the college`},massage:{title:"Admission Requirement for 2200 Hour Massage Diploma Program",standard:{title:"Standard Admission:",content:`Students must meet the following criteria:
247
248• Must be minimal 18 years of age
249• Alberta high school diploma, verified by official transcript, or non-Alberta equivalent
250• Successful interview with school administration, at the discretion of the school
251• Proficiency in speaking and written English, at the discretion of the school. See English Language Proficiency document for details`},mature:{title:"Mature Admission Students must meet the following criteria:",content:`• Must be minimal 19 years of age
252• Successful interview with school administration, at the discretion of the school
253• Post-secondary education or other educational experience may be considered for advanced credit at the discretion of the school
254• Proficiency in speaking and written English, at the discretion of the school. See the English Language Proficiency Requirements for more details`}}},procedure:{title:"3. Procedure",content:`The prospective international student submits the application package with a $500.00 application fee.
255
256Within 14 days, CCTCMA reviews the application package and informs the prospective student by email or phone if any documents are missing.
257
258Within one month, CCTCMA mails the Letter of Acceptance to the student and the student starts to apply for the Student Visa, medical insurance, as well as relevant travel documents.
259
260School starts on the first week of September each year.
261
262Note: The application fee is not refundable. CCTCMA recommends that prospective students apply for their Student Visa ASAP.`},credentials:{title:"4. Credential Assessment and Recognition Standard",content:"Applicants from other countries must first complete an education credential assessment and send a copy of the completed assessment along with a copy of there diploma and transcripts to [email protected]. The education credential assessment by either WES(World Education Services)or ICAS(International Credential Assessment Service)is acceptable."},policies:{title:"5. Academic Policies for International Students",evaluation:{title:"Academic Evaluation Policy",content:"Examinations are an essential tool used to evaluate the accomplishments of both instructors and students. Exams assess the level of a student's knowledge and understanding, while also assessing the effectiveness of an instructor's teaching methods. Written and practical exams are used to assess the knowledge of students in most courses at CCTCMA. The weights of written and practical exams will be set up based on each course's requirements. Attendance, participation in classroom discussions, and practicum performances will also be used as tools to evaluate a student's academic performance."},withdrawal:{title:"Withdrawal Policy",content:"All international students should act properly in accordance with college policies, standards, procedures, and regulations."},appeal:{title:"Academic Appeal Policy",content:`The basic principles for the Academic Appeal Policy at CCTCMA are as the follows:
263
264• Fairness will be applied to all parties
265• Academic decisions should be made as close as possible to the level of academic expertise
266• A final grade appeal is solely based on the academic merits of a student's work
267• A student must have one additional opportunity to review a final grade assignment after consulting with an instructor
268• In the spirit of co-operation, students are not permitted representation of legal counsel`}},support:{title:"6. Support and Services for International Students",campus:{title:"International Student Services on Campus",content:`International Student Services (ISS) is the main source of support for international students and a gathering place for students with cross-cultural interests at CCTCMA. The ISS offers the following services:
269
270Reception and orientation – New international students are welcome to register with the ISS in August and September to receive important information about settling into their new environment such as culture adju
270stment and adaptation.
271
272The following services are some examples:
273
274• New international student orientations
275• Recommendation of accommodation and transportation in Calgary
276• Introduction to the Banking system in Canada for newcomers
277• Services available at the CCTCMA
278
279International Student Advising Office – This is where you can find support for a wide range of issues, such as academic counseling, work while studying, immigration, employment, and adjusting to life in Canada.
280
281Cross-cultural counseling – Our cross-cultural counselor provides culturally sensitive counseling to CCTCMA students on personal issues. Feel free to discuss anything from family problems to depression to self-esteem.
282
283Social and cultural events – The ISS offers students a taste of Canadian and world cultures by hosting cultural and social activities, such as themed dinners, parties, field trips, and tours.`},community:{title:"Supports Available in the Community",content:`We are committed to offering the following services for international students from the CCTCMA:
284
285• From the administration team
286• From international student advisors at the CCTCMA
287• From the International Student Office at the CCTCMA
288
289There are also other supports available:
290
291• The City of Calgary
292• The Center of Newcomers
293• Local communities`},immigration:{title:"Immigration and Work While Studying",content:`International Student Services (ISS) provides information regarding immigration documents i.e. Study Permits, to international students to study at CCTCMA.
294
295Please note that ISS cannot provide advice to you, or act on your behalf, on such immigration matters. Our website provides links to <a href="https://www.canada.ca/en/immigration-refugees-citizenship.html" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">Citizenship and Immigration Canada</a> where complete information, application forms and instructions are available.
296
297International students seeking information on immigrating to Canada can check the <a href="https://www.canada.ca/en/immigration-refugees-citizenship.html" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">Citizenship and Immigration Canada website</a>.`}},health:{title:"7. Health Support for International Students",content:'All international students at the Calgary College of Traditional Chinese Medicine and Acupuncture (CCTCMA) are eligible for the <a href="https://www.alberta.ca/ahcip?utm_source=chatgpt.com" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">Alberta Health Care Insurance Program (AHCIP)</a> and we strongly encourage international students to purchase adequate coverage not covered by AHCIP. The college clinic of CCTCMA also offers all our students free acupuncture treatments up to 10 times per year by our interns under supervision.'},academicSupport:{title:"8. Academic Support for International Students",content:`CCTCMA is committed to maintaining high standards and encouraging your academic success. Academic standing applies to all programs at CCTCMA and relates to the student's eligibility to register in courses within Acupuncture Diploma Program at CCTCMA.
298
299If you are experiencing academic difficulty, you are encouraged to meet with your academic advisor as soon as possible. The sooner you get assistance, the easier it will be for you to get help.`},complaint:{title:"9. Student Complaint and Dispute Resolution Process",content:"We recommend that the student always try to resolve issues informally. If a formal approach is necessary, CCTCMA provides a fair and reasonable procedure for resolution."},cta:{title:"Ready to Start Your Journey?",description:"Join our international community and begin your TCM education in Calgary.",applyButton:"Apply Now",contactButton:"Contact Us"}}},exam:{hero:{title:"National Examination",description:"Prepare for your professional certification with our comprehensive exam preparation program"},info:{sectionTitle:"Exam Information",title1:"Acupuncture Examination",content1:"The acupuncture examination is a comprehensive test that evaluates your knowledge and skills in traditional Chinese medicine acupuncture. It covers theoretical knowledge, practical skills, and clinical applications.",examContent:"Exam Content:",acupuncture:{content1:"TCM Basic Theory",content2:"Meridians and Acupoints",content3:"Acupuncture Techniques",content4:"Clinical Diagnosis",content5:"Safety and Ethics"},requirements:"Registration Requirements:",acupunctureReqs:{req1:"Complete Acupuncture Diploma Program",req2:"Pass Clinical Internship Assessment",req3:"Meet Exam Registration Requirements"},title2:"Traditional Chinese Medicine Examination",content2:"The TCM examination asse
299sses your understanding of traditional Chinese medicine theory, diagnosis, and treatment methods. It includes both written and practical components.",tcm:{content1:"TCM Basic Theory",content2:"Chinese Herbology",content3:"Herbal Formulas",content4:"TCM Diagnostics",content5:"Clinical Practice"},tcmReqs:{req1:"Complete TCM Doctor Diploma Program",req2:"Pass Clinical Internship Assessment",req3:"Meet Exam Registration Requirements"},title3:"Massage Therapy Examination",content3:"The massage therapy examination evaluates your proficiency in various massage techniques and your understanding of anatomy and physiology.",massage:{content1:"Anatomy and Physiology",content2:"Massage Techniques",content3:"Clinical Assessment",content4:"Treatment Planning",content5:"Professional Practice"},massageReqs:{req1:"Complete Massage Therapy Diploma Program",req2:"Pass Clinical Internship Assessment",req3:"Meet Exam Registration Requirements"}},registration:{sectionTitle:"Registration Process",step1:{title:"Complete Required Courses",description:"Ensure you have completed all required courses and clinical hours before registering for the exam."},step2:{title:"Submit Application",description:"Submit your exam application along with all required documentation and fees."},step3:{title:"Receive Confirmation",description:"Wait for confirmation of your exam registration and schedule."},step4:{title:"Prepare for Exam",description:"Participate in our exam preparation program and practice sessions."}},preparation:{sectionTitle:"Exam Preparation",tip1:{title:"Study Materials",content:"Access our comprehensive study materials and practice questions."},tip2:{title:"Mock Exams",content:"Take advantage of our mock exams to familiarize yourself with the exam format."},tip3:{title:"One-on-One Tutoring",content:"Get personalized guidance from our experienced instructors."}},cta:{title:"Ready to Start Your Journey?",description:"Join our exam preparation program and take the first step towards your professional certification.",button:"Contact Us"},cctcmaSupport:{performanceData:[{category:"Pan-Canadian Exam",passRate:"100%"},{category:"Safety",passRate:"100%"},{category:"Modalities",passRate:"100%"},{category:"Acupuncture Points",passRate:"100%"}]}},page123:{step1:{title:"》Things to Know for Your First Appointment",content:`Please arrive 5 – 10 minutes before your appointment time. This will give you time to complete the necessary intake forms.
300
301If this is your first visit to the Calgary College of Traditional Chinese Medicine and Acupuncture, please anticipate an appointment length of approximately 1.5 hours.
302
303If this is your first acupuncture or TCM treatment, please let your acupuncturist know. They will take time to explain the various aspects of treatment in more depth.
304
305All of our student interns are overseen by one of our supervising TCM Doctors. The TCM Doctors will provide guidance to our student interns, however will not be conducting direct supervision during your appointment. At any time during your treatment you can request the presence of the Supervising TCM Doctor; just let your intern know.
306
307At the beginning of your treatment, you will be provided with an emergency response button. You can press this button at any time during treatment if you are experiencing distress or otherwise need further assistance.`},step2:{title:"》Before Your Appointment",content:`At CCTCMA we prefer you do not wear makeup or anything that covers your skin's colour or condition. As part of your treatment, your acupuncturist will need to assess the current condition and appearance of your skin. Facial creams and lotions with no scent are acceptable, however, should you have dark circles under your eyes or other blemishes, please avoid covering them. The natural features of your face are a part of the TCM diagnosis; this provides your TCM Doctor with valuable information they need to make the correct diagnosis and provide you with the best treatment.
308
309Please avoid using perfumes, colognes, or other scented products on the day of your treatment. This includes deodorant and antiperspirant. Your body's natural odours also provide valuable information to your TCM Doctor for diagnosis.`},step3:{title:"》What to Wear",content:`We prefer that our patients remove all bracelets, watches, or bands around the wrists. Your acupuncturist will need to feel your pulse on both wrists, and some treatments can require needles in your wrist area. As such, please remove all wrist accessories before your treatment.
310
311Wear comfortable clothes that can be removed easily. You will be provided with a gown to wear for your treatment.`},step4:{title:"》What to Eat and Drink",content:`Please ensure you eat something prior to your treatment. If you have not eaten for an extended period of time, please let your acupuncturist know. You will be offered a small glass of juice, sugar water, or some candies before they begin. If your blood sugar is too low you can experience dizziness during and after treatment.
312
313Please avoid drinking coffee, or other coloured liquids and beverages for several hours prior to treatment. Your tongue colour and the colour of your tongue's coating are valuable diagnostic tools used by your TCM Doctor. For example, a yellow tongue coating is indicative of totally different symptoms than a white tongue coating.`},contact:{text:"If you have any questions about your treatment options or what to expect during your appointment, please feel free to contact us at (403) 287-8688, or send an email to [email protected]."},cta:{title:"Ready to Book Your Appointment?",description:"Now that you know how to prepare, book your appointment with our experienced practitioners and start your journey to better health.",bookButton:"Book Appointment",servicesButton:"View Services"}},panCanadianExam:{hero:{title:"What Are Pan-Canadian Examinations?",subtitle:"Understanding the national standard for acupuncture and TCM practice in Canada"},overview:{title:"Overview of Pan-Canadian Examinations",description:"The Pan-Canadian Examinations are standardized national assessments designed to evaluate the competency of acupuncture and Traditional Chinese Medicine practitioners across Canada.",content:"These examinations ensure that practitioners meet consistent, high standards of knowledge and clinical skills, regardless of where they received their education. The exams are recognized by regulatory bodies across Canadian provinces and territories."},examComponents:{title:"Examination Components",written:{title:"Written Examination",items:["TCM Theory and Principles","Acupuncture Point Location","Diagnosis and Treatment","Safety and Ethics"]},practical:{title:"Practical Examination",items:["Clinical Assessment Skills","Needle Insertion Techniques","Point Location Accuracy","Safety Protocols"]}},examStations:{title:"Examination Stations",safety:{title:"Safety Station",description:"Demonstrates knowledge of infection control, needle safety, contraindications, and emergency procedures."},modalities:{title:"Modalities Station",description:"Assesses practical skills in various acupuncture te
313chniques, including manual acupuncture, electroacupuncture, and other modalities."},points:{title:"Acupuncture Points Station",description:"Tests accurate location of acupuncture points, anatomical knowledge, and proper needling techniques."}},eligibility:{title:"Eligibility Requirements",education:{title:"Education:",description:"Graduation from an approved acupuncture or TCM program"},clinicalHours:{title:"Clinical Hours:",description:"Completion of required clinical training hours"},application:{title:"Application:",description:"Submission of complete application with required documentation"},fees:{title:"Fees:",description:"Payment of examination fees"}},recognition:{title:"Provincial Recognition",description:"The Pan-Canadian Examinations are recognized by regulatory bodies across Canada, including:",provinces:{alberta:{name:"Alberta",body:"College of Acupuncturists of Alberta"},bc:{name:"British Columbia",body:"College of Traditional Chinese Medicine Practitioners and Acupuncturists of BC"},ontario:{name:"Ontario",body:"College of Traditional Chinese Medicine Practitioners and Acupuncturists of Ontario"},quebec:{name:"Quebec",body:"Ordre des acupuncteurs du Québec"}}},cta:{title:"Prepare for Success with CCTCMA",description:"Our comprehensive programs are designed to prepare you for the Pan-Canadian Examinations and professional practice.",learnMore:"Learn more about our support:"}},cctcmaSupport:{hero:{title:"CCTCMA's Support in Achieving Success",subtitle:"Comprehensive preparation and support for Pan-Canadian Examination success"},intro:{title:"Empowering Student Success",highlight:"Preparing for the Pan-Canadian Examinations can be a huge challenge for graduates of acupuncture and traditional Chinese medicine programs. That's why the CCTCMA has taken proactive measures to empower our students to be successful in these critical examinations.",description:"During the past twenty years, the CCTCMA has accumulated tremendous experience and resources to facilitate our students in all components of the Pan-Canadian Examinations. We have offered our students refresher courses three months before the Pan-Canadian Exam each year. Those refresher courses have been highly appreciated by our students."},results:{title:"Outstanding Examination Results",description:"We are so proud of the success of our students in the Pan-Canadian Examinations. In Oct. 2022, our graduates accomplished a remarkable achievement with a 100% pass rate in the following exam stations in Alberta.",table:{title:"Fall 2022 AARE Performance Report – CCTCMA",0:{category:"Pan-Canadian Exam",rate:"100%"},1:{category:"Safety",rate:"100%"},2:{category:"Modalities",rate:"100%"},3:{category:"Acupuncture Points",rate:"100%"}}},refresher:{title:"Refresher Courses",timing:{title:"Timing",description:"Offered three months before the Pan-Canadian Exam each year"},content:{title:"Content",description:"Comprehensive review of all examination components"},format:{title:"Format",description:"Interactive sessions with practice examinations"}},resources:{title:"Comprehensive Resources",materials:{title:"Study Materials",description:"Specialized preparation materials and practice tests"},faculty:{title:"Faculty Support",description:"One-on-one guidance from experienced instructors"},mock:{title:"Mock Examinations",description:"Realistic practice sessions to build confidence"}},experience:{title:"Two Decades of Excellence",years:{title:"Years of Experience",description:"Accumulated tremendous experience in exam preparation"},success:{title:"Success Rate",description:"Outstanding performance in all examination stations"},appreciation:{title:"Student Appreciation",description:"Refresher courses highly appreciated by students"}},testimonials:{title:"Student Success Stories",quote:"Taking the refresher course was an incredibly rewarding experience that significantly strengthened my preparation for the Pan-Canadian Exam. The expert guidance from the faculty, paired with the detailed and thoughtfully organized review materials, helped me solidify my knowledge and build the confidence to tackle the exam with ease. I left the course feeling empowered, well-prepared, and grateful for the support that made such a challenging milestone achievable.",author:"— CCTCMA Graduate Thomas"},cta:{title:"Join Our Success Story",description:"Experience the CCTCMA advantage and prepare for Pan-Canadian Examination success with our proven support system.",contactTitle:"Contact us to learn more:"}},contact:{hero:{title:"Contact Us",subtitle:"Get in touch with us for more information about our programs"},info:{title:"Contact Information",address:{title:"School Address",line1:"107 and 217, 4014 Macleod Trail South",line2:"Calgary, AB, Canada T2G 2R7"},phone:{title:"Phone",number:"1-(403)287-8688",main:"(403)287-8688",tollFree:"1-(403)287-8688"},email:{title:"Email",address:"[email protected]",general:"[email protected]",admissions:"[email protected]"},hours:{title:"Office Hours",weekdays:"Monday - Friday: 9:00 AM - 5:00 PM",weekends:"Saturday & Sunday: Closed",saturday:"Saturday: By Appointment"}}
313,form:{title:"Send us a Message",name:"Your Name",email:"Your Email",phone:"Your Phone",subject:"Subject",message:"Your Message",submit:"Send Message",nameRequired:"Name is required",emailRequired:"Email is required",emailInvalid:"Please enter a valid email",messageRequired:"Message is required",sending:"Sending...",success:"Thank you! Your message has been sent successfully.",error:"Sorry, there was an error sending your message. Please try again."}},application:{title:"Online Application",subtitle:"Start your journey in Traditional Chinese Medicine",sections:{personal:{title:"Personal Information",firstName:"First Name",lastName:"Last Name",email:"Email Address",phone:"Phone Number",dateOfBirth:"Date of Birth",address:"Street Address",city:"City",province:"Province/State",postalCode:"Postal Code",country:"Country",selectCountry:"Select Country"},program:{title:"Program Selection",selectProgram:"Select Program",chooseProgram:"Choose a Program",acupuncture:"3-Year Acupuncture Diploma",tcm:"4-Year TCM Diploma",massage:"2200-Hour Massage Diploma",preferredStart:"Preferred Start Date",selectTerm:"Select Term"},education:{title:"Educational Background",highSchool:"High School Name",gradYear:"Graduation Year",englishProficiency:"English Proficiency",selectTest:"Select Test",previousEducation:"Previous Education/Training",previousEducationPlaceholder:"Please describe any relevant education, training, or certifications..."},additional:{title:"Additional Information",workExperience:"Work Experience",workExperiencePlaceholder:"Please describe any relevant work experience...",motivation:"Why do you want to study TCM/Acupuncture?",motivationPlaceholder:"Please explain your motivation and career goals...",hearAboutUs:"How did you hear about us?",selectSource:"Select Source",website:"Website",socialMedia:"Social Media",friend:"Friend/Family",event:"Event/Workshop",other:"Other"},documents:{title:"Document Upload",transcript:"Official Transcript",englishTest:"English Proficiency Test Results",passport:"Passport/ID Copy",fileTypes:"Accepted formats: PDF, DOC, DOCX, JPG, PNG (Max 5MB)",dropFiles:"Drop files here or click to browse"}},terms:{title:"Terms and Conditions",content1:"By submitting this application, you acknowledge that you have read and understand our admission requirements.",content2:"All information provided must be accurate and complete. False information may result in rejection of application.",content3:"Application fees are non-refundable. Please review all information before submitting.",agreement:"I agree to the terms and conditions"},form:{submit:"Submit Application",submitting:"Submitting...",cancel:"Back to Admission",submitSuccess:"Thank you! Your application has been submitted successfully. We will contact you soon.",error:"Failed to submit application. Please try again later.",newApplication:"Submit New Application"}},services:{title:"Services & Fees",subtitle:"Take control of your health and wellness today and book an appointment at our clinic!",description:"You can receive treatments from a supervised intern or student or from one of our professional Doctors. This approach allows us to offer our treatments and services to you at affordable rates.",feeSchedule:"See our Fee Schedule:",pricing:{title:"Treatment Types",treatmentType:"Treatment Type",details:"Details",regularPrice:"Regular Price",packagePrice:"Package Price",book:"BOOK"},acupuncture:{internSupervised:{name:"Acupuncture",description:"Performed by interns with Doctor/Faculty Supervision",price:"$25.00 per treatment",packagePrice:"n/a"},doctorObservation:{name:"Acupuncture",description:"Performed by Doctor with Student Observation",price:"Free",packagePrice:"n/a"},doctorPrivate:{name:"Acupuncture",description:"Performed by Doctor, no Observation",price:"$100.00 per treatment",packagePrice:"n/a"}},massage:{studentThirtyMin:{name:"Massage",description:"Performed by the student, the maxim treatment time is 30 minutes",price:"$25.00 per 30-minute treatment",packagePrice:"n/a"},rmt:{name:"Massage",description:"Performed by RMT",price:"$110.00 per 1-hour treatment",packagePrice:"n/a"}},herbs:{granule:{name:"Chinese herbs(granule)",description:"",price:"Price varies",packagePrice:""},traditional:{name:"Chinese herbs",description:"",price:"Price varies",packagePrice:""}},clinicHours:{title:"See our clinic hours",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",mondayHours:"9:30 a.m.—5:30 p.m.",tuesdayHours:"9:30 a.m.—5:30 p.m.",wednesdayHours:"9:30 a.m.—5:30 p.m.",thursdayHours:"9:30 a.m.—5:30 p.m.",fridayHours:"9:30 a.m.—5:30 p.m."},booking:{title:"Book Your Appointment",selectedService:"Selected Service",selectService:"Please select a service above to continue",selectTime:"Select a time",personalInfo:"Personal Information",firstName:"First Name",lastName:"Last Name",email:"Email Address",phone:"Phone Number",preferredDate:"Preferred Date",preferredTime:"Preferred Time",healthInfo:"Health Information",symptoms:"Current Symptoms/Concerns",symptomsPlaceholder:"Please describe your symptoms or areas of concern...",previousTreatment:"Previous Treatment History",previousTreatmentPlaceholder:"Have you received similar treatments before?",specialRequests:"Special Requests or Notes",specialRequestsPlaceholder:"Any special requests or additional information...",policies:"Booking Policies",policy1:"Please arrive 10 minutes before your appointment",policy2:"24-hour cancellation notice required",policy3:"Late arrivals may result in shortened treatment time",consent:{title:"Booking Policies",agreement:"I consent to receive the selected treatment and understand the associated risks and benefits",privacy:"I agree to the collection and use of my personal information for treatment purposes"},contact:{title:"Need Help?",description:"If you have any questions or need assistance with booking, please contact us directly.",phone:"Phone",email:"Email"},submit:"Book Appointment",cancel:"Back to Clinic",selectServiceFirst:"Please select a service first",success:"Thank y
313ou! Your appointment request has been submitted. We will contact you to confirm your booking."},cta:{title:"Ready to Start Your Healing Journey?",description:"Book an appointment with our experienced practitioners and take the first step towards better health through Traditional Chinese Medicine.",bookButton:"Book Appointment",contactButton:"Contact Us"}},tuition:{hero:{title:"Tuition and Fees",subtitle:"Official tuition rates and financial assistance options for your acupuncture, massage and TCM education"},summary:{title:"Tuition Summary",description:"The summary of tuition fees for the programs at CCTCMA is the following:",canadianStudents:"Canadian Students",internationalStudents:"International Students",acupuncture:"Acupuncture Program",massage:"2200 Hour Massage Therapy Program",tcm:"TCM Program",perYear:"per year for",threeYears:"three years",twoYears:"two years",fourYears:"four years"},payment:{title:"Payment Options",subtitle:"Flexible payment solutions to make your education affordable",installments:{title:"Installment Plans",description:"Split tuition into manageable monthly payments",benefit:"Flexible budgeting"},studentAid:{title:"Government Student Aid",description:"Apply for provincial and federal funding assistance",benefit:"Reduce financial burden"},scholarships:{title:"Scholarships & Bursaries",description:"Merit-based and need-based financial awards",benefit:"Recognition & support"}},additional:{title:"Additional Costs",books:"Books & Materials",supplies:"Clinical Supplies",registration:"Registration Fees",parking:"Parking (Optional)"},financial:{title:"Financial Aid Resources",description:"We are committed to making quality TCM education accessible. Contact our financial aid office for personalized assistance.",contact:"Contact Financial Aid Office"}},prepareAppointment:{hero:{title:"Prepare for Your Appointment",subtitle:"Everything you need to know before your visit to our clinic"},beforeVisit:{title:"Before Your Visit",items:["Arrive 15 minutes early for check-in","Bring a valid ID and insurance information","Wear comfortable, loose-fitting clothing","Avoid heavy meals 2 hours before treatment","List all current medications and supplements"]},whatToExpect:{title:"What to Expect",consultation:{title:"Initial Consultation",description:"Your practitioner will discuss your health history and current concerns"},examination:{title:"TCM Examination",description:"Traditional diagnostic methods including pulse and tongue examination"},treatment:{title:"Treatment Session",description:"Personalized treatment plan based on your individual needs"}},afterCare:{title:"After Your Treatment",items:["Drink plenty of water","Avoid strenuous activities for 24 hours","Note any changes in symptoms","Follow any specific instructions given by your practitioner"]}},forms:{title:"Application Forms",subtitle:"Download and complete the required forms for your application",download:{title:"Download Forms",description:"Click below to download the application forms",newStudentForm:"CCTCMA New Student Application Form"},upload:{title:"Upload Completed Form",description:"Upload your completed application form here",dragDrop:"Drag and drop your file here, or click to browse",fileTypes:"Accepted file types: PDF, DOC, DOCX (Max 10MB)",submit:"Upload Form"}},admin:{login:{title:"CMS Admin Panel",subtitle:"Calgary College of Traditional Chinese Medicine and Acupuncture",adminLogin:"Admin Login",enterCredentials:"Please enter your admin credentials",username:"Username",password:"Password",enterUsername:"Enter username",enterPassword:"Enter password",signingIn:"Signing in...",signIn:"Sign In",demoCredentials:"Demo Credentials",demoDescription:"You can use these accounts for testing",adminAccount1:"Admin Account 1",adminAccount2:"Admin Account 2",use:"Use",securityNote:"These are pre-configured demo accounts. In production, ensure strong passwords and regular updates.",emptyCredentials:"Username and password cannot be empty",invali
313dCredentials:"Invalid username or password",loginFailed:"Login failed: {{error}}",storageCleared:"All storage cleared. Please refresh the page and login again."},dashboard:{title:"CCTCMA Admin Panel",subtitle:"Content Management System",viewWebsite:"View Website",logout:"Logout",visualEditor:"Visual Editor",applications:"Applications",contactForms:"Contact Forms",loading:"Loading...",refresh:"Refresh",noApplications:"No applications found",noContacts:"No contact forms found",applicationList:"Application List",contactList:"Contact Form List",applicationDetails:"Application Details",contactDetails:"Contact Form Details",selectApplication:"Please select an application from the left",selectContact:"Select a contact form to view details",chooseContact:"Choose a contact from the list on the left",loadingApplications:"Loading applications...",loadingContacts:"Loading contact forms...",viewDetails:"View Details",delete:"Delete",deleteConfirm:"Are you sure you want to delete this item? This action cannot be undone.",deleteSuccess:"Item deleted successfully",deleteFailed:"Failed to delete item",save:"Save Changes",cancel:"Cancel",saving:"Saving...",saved:"Saved successfully",saveFailed:"Failed to save changes",resetChanges:"Reset Changes",addNotesPlaceholder:"Add your notes about this application...",addResponsePlaceholder:"Add your response to this contact message...",workExperience:"Work Experience",applicationMotivation:"Application Motivation",additionalInformation:"Additional Information",uploadedFiles:"Uploaded Files",applicationStatus:"Application Status",adminNotes:"Admin Notes",notProvided:"Not Provided",noFiles:"No files",noFilesAttached:"No files attached",videoManagerTab:"Video Manager",uploadedApplicationsTab:"Uploaded Applications",tabs:{submissions:"Applications",contacts:"Contact Forms",uploadedApplications:"Uploaded Applications"}},visualEditor:{title:"Visual Edit Mode",description:"Click the button below to enter visual editing mode, then browse to any page of your website and edit content directly",launchButton:"Launch Visual Edit Mode",howToUse:"How to Use Visual Editor",step1:"Click the button above to open the website in edit mode",step2:"Navigate to any page you want to edit (Home, About, Programs, etc.)",step3:"Click directly on text or images to edit them inline",step4:"Changes are saved automatically and appear on the live website"},contentManager:{title:"Content Management",description:"Edit and manage your website content with live preview",showPreview:"Show Preview",hidePreview:"Hide Preview",loadingContent:"Loading content...",sections:{homepage:"Homepage",about:"About",programs:"Programs",clinic:"Clinic",contact:"Contact",admission:"Admission"}},applications:{status:{pending:"Pending",reviewing:"Under Review",accepted:"Accepted",rejected:"Rejected",waitlisted:"Waitlisted"},fields:{name:"Name",email:"Email",phone:"Phone",program:"Program",status:"Status",submittedAt:"Submitted",notes:"Admin Notes"}},contacts:{status:{new:"New",read:"Read",replied:"Replied",closed:"Closed"},fields:{name:"Name",email:"Email",phone:"Phone",subject:"Subject",message:"Message",status:"Status",submittedAt:"Submitted",response:"Admin Response"}},videos:{title:"Video Manager",description:'Manage the 3 video spaces displayed on the "Why Choose CCTCMA" page. You can upload videos from YouTube, Vimeo, or provide direct video links.',openManager:"Open Video Manager",instructions:{title:"Instructions",step1:'Click "Open Video Manager" to manage your video uploads',step2:"You can upload videos to any of the 3 available slots",step3:"Supported video sources: YouTube, Vimeo, or direct video links",step4:'Videos will appear on the "Why Choose CCTCMA" page below the testimonials'},manager:{slotsStatus:"Video Slots Status",slot:"Slot",editVideo:"Edit Video",deleteVideo:"Delete Video",noVideoUploaded:"No video uploaded",addVideo:"Add Video",editVideoForm:"Edit Video",addNewVideoForm:"Add New Video",deleteConfirm:"Are you sure you want to delete this video?"}},uploadedApplications:{title:"Uploaded Applications",description:"View and manage applications with uploaded files. These applications include document uploads that can be downloaded directly.",filters:{all:"All",pending:"Pending",reviewed:"Reviewed",accepted:"Accepted",rejected:"Rejected"},applicationFiles:"Application Files",refresh:"Refresh",loadingApplications:"Loading applications...",noApplicationsFound:"No applications foun
313d",noFilteredApplicationsFound:"No {{filter}} applications found",applicationsWillAppear:"Applications will appear here once they are submitted",noFilteredApplicationsMessage:'No applications with status "{{filter}}" found',uploadedFiles:"Uploaded Files:",noFilesUploaded:"No files uploaded for this application",program:"Program",status:"Status",submitted:"Submitted",deleteApplication:"Delete Application"}},page124:{about332:{hero:{title:"About Us",subtitle:"Learn about Calgary College of Traditional Chinese Medicine and Acupuncture's history, mission and values"},college:{title:"About the College",content:`Established in 2003, the Calgary College of Traditional Chinese Medicine and Acupuncture (CCTCMA) is a comprehensive educational institution registered with the Ministry of Advanced Education of Alberta, the College of Acupuncturists of Alberta, Natural Health Practitioners of Canada (NHPC), and the Canadian Massage and Manual Osteopathic Therapists Association (CMMOTA). It seamlessly integrates teaching, medical care, research, and the promotion of traditional Chinese medicine culture.
314
315The college currently offers three programs: the Acupuncture Diploma Program, the 2200-Hour Massage Diploma Program, and the TCM Diploma Program, all conducted in English. Students have the opportunity to apply for scholarships and grants from the Alberta provincial government and the Canadian federal government. Additionally, the college holds approval from the Canadian federal government as a Designated Learning Institution (DLI: O111917070547) for international students. Our esteemed faculty includes professors, associate professors, lecturers, and Ph.D. holders in Traditional Chinese Medicine from around the world, highly esteemed for their expertise. They are passionately dedicated to teaching with enthusiasm, professionalism, and a sincere commitment to helping every student excel in their skills.
316
317Nestled in Calgary, recognized as one of the world's wealthiest, safest, and most livable cities, our college enjoys the advantage of a picturesque environment characterized by pristine air and embraced by the breathtaking backdrop of everlasting snow-capped mountains, including the majestic Rocky Mountains and the renowned Banff National Park. Calgary is renowned for its welcoming atmosphere and has maintained a consistent presence among the top ten most livable cities globally.
318
319In its two decades of educational excellence, the Calgary College of Traditional Chinese Medicine and Acupuncture has embraced the core philosophy of 'inheritance and innovation' in Chinese acupuncture and traditional medicine. Deeply rooted in the cultural heritage of China and traditional Chinese medicine, the college places a strong emphasis on its fundamental mission of education. Over the years, it has nurtured a multitude of professionals, including Chinese massage therapists, acupuncturists, and advanced Chinese medicine practitioners, significantly contributing to the growth of Chinese medicine in Calgary and North America, earning a well-deserved reputation.`},mission:{title:"Our Mission",content:"Our mission is to provide our students with high quality, authentic education in acupuncture, massage and Traditional Chinese Medicine. We strive to maintain standards of education comparable to Acupuncture and TCM programs in China."},programs:{title:"The Programs",content:"The Programs offered at CCTCMA provide an authentic education in acupuncture, massage and Traditional Chinese Medicine, and are designed to prepare students for acupuncture licensing examinations around the world."},goal:{title:"Our Goal",content:"Our goal is to impart the knowledge and skills of massage, acupuncture and Traditional Chinese Medicine to our students, ensuring that they can practice successfully anywhere in the world in the future. Our faculty is highly educated, holding master's and doctorate degrees in acupuncture and TCM, and they have decades of practical experience to share with CCTCMA students."},faculty:{title:"OUR FACULTY",subtitle:"Help you realize your dream of being a true healer",drFrankDu:{name:"Dr. Frank Du",title:"President & Faculty"},drLuyangLiu:{name:"Dr. Luyang (Martin) Liu",title:"Dean and Faculty Member"},viewAllButton:"See All Faculty Members"},accreditation:{title:"Accreditation",acupuncture:{title:"Acupuncture Diploma"},massage:{title:"2200 Hour Massage Diploma"}}
319,navigation:{title:"Quick Navigation"},cta:{title:"Ready to Start Your TCM Journey?",description:"Apply to our programs now and begin your journey in Traditional Chinese Medicine.",applyButton:"Apply Now",contactButton:"Contact Us"}}},page125:{presidents332:{hero:{title:"President's Message",subtitle:"Welcome to CCTCMA - One of Canada's Premier Acupuncture Schools"},info:{name:"Dr. Frank H. Du",title:"President",credentials:"Doctor of Acupuncture, M. App.Sc. (Australia), RMT"},quote:'"Welcome to the CCTCMA, one of the best Canadian acupuncture schools. We have been providing excellent acupuncture training to our students since 2003."',message:{paragraph1:"Our Acupuncture Diploma program offers students a high-quality education in acupuncture, comprising in-class courses and hands-on training. This comprehensive approach allows students to learn acupuncture, write the Alberta Acupuncture licensing exam, and obtain acupuncture certification in Alberta. Our graduates are confident practitioners of acupuncture and Traditional Chinese Medicine, practicing in Canada and internationally.",paragraph2:"Traditional Chinese Medicine (TCM) is a unique and comprehensive healthcare profession that encompasses acupuncture, Chinese herbology, Chinese massage, Qigong, and food therapy. Its immense practical value has been recognized in China and worldwide. Our college offers top-quality, authentic education in Traditional Chinese Medicine (TCM) and acupuncture, preparing students for TCM and acupuncture licensing examinations worldwide.",paragraph3:"Our goal is to impart the knowledge and skills of TCM and acupuncture to our students, enabling them to practice successfully in the future, anywhere in the world. Contact us to get further detailed information.",closing:"Best wishes for your studies at CCTCMA."},signature:{name:"Dr. Frank H. Du",title:"President",institution:"Calgary College of Traditional Chinese Medicine and Acupuncture"},highlights:{excellence:{title:"Excellence Since 2003",description:"Two decades of providing top-quality TCM and acupuncture education"},authentic:{title:"Authentic Education",description:"Standards comparable to TCM programs in China"},global:{title:"Global Practice",description:"Graduates practicing successfully worldwide"}}}},page126:{faq332:{hero:{title:"Frequently Asked Questions",subtitle:"Get answers to common questions about our programs and admission process"},questions:{0:{question:"Are Traditional Chinese Medicine and Acupuncture Regulated in Alberta?",answer:{0:"Currently, only Acupuncture is regulated and available for licensure in Alberta. BC also recognizes and provides licensure for a Doctor of Traditional Chinese Medicine."}},1:{question:"Do you offer online or distance learning courses? And Why?",answer:{0:"From March 2022, we started to offer a combination of in person and online learning for the theory courses due to the situation of COVID in Alberta. Those policies will be updated following the announcement of the professional authorities and the government of Alberta."}},2:{question:"Are you accredited and are you eligible for the student financial support?",answer:{0:"Acupuncture Diploma:",1:"• Approved by College of Acupuncturists of Alberta. The College of Acupuncturists of Alberta has the authority to approve acupuncture education programs. Individuals who obtain a diploma from these programs satisfy section 3(a)(1) and 3(b)(1) of the Acupuncturist Professional Regulation.",2:"• Alberta Advanced Education (Alberta Learning): The Acupuncture Diploma Program is eligible for full-time post-secondary assistance by Alberta Student Aid.",3:"• Calgary College of Traditional Chinese Medicine and Acupuncture's Designated Learning Institution number (DLI#) is O111917070547. A designated learning institution is a school approved by a provincial or territorial government to host international students.",4:"• Accepted by Beijing University of Chinese Medicine, China.",5:"2200 Hour Massage Diploma:",6:"• Approved and recognized by NHPC (Natural Health Practitioners of Canada)",7:"• Calgary College of Traditional Chinese Medicine and Acupuncture's Designated Learning Institution number (DLI#) 
319is O111917070547. A designated learning institution is a school approved by a provincial or territorial government to host international students.",8:"• Alberta Advanced Education: Our Massage Diploma Program is eligible for full-time post-secondary assistance by Alberta Student Aid."}},3:{question:"What are the benefits of choosing the Acupuncture program of CCTCMA over others offered in Canada?",answer:{0:"Our faculty members are more than qualified. The majority of our faculty members have a Master's Degree or Ph.D. in Acupuncture and Traditional Chinese Medicine and have at least 15 years of working and teaching experience in Acupuncture and Traditional Chinese Medicine in Canada and China.",1:"Our programs were developed based on our teaching experiences of Acupuncture and Traditional Chinese Medicine in Australia, Canada, the USA, and China.",2:"These programs have been running successfully for over twenty years in Northern America and about fifty years in China.",3:"Classes are small.",4:"Student loans are available.",5:"We are pleased to offer our own, uniquely designed Study Guides for almost every subject. This helps our students learn Traditional Chinese Medicine and Acupuncture easily.",6:'Our student clinic is very busy, therefore, there is a lot of "hands-on practice" of acupuncture available to our students.',7:"Studying is full time, from 9 am to 5 pm, Monday to Friday. You will get the training you pay for.",8:"We are committed to offering the highest education and training in Traditional Chinese Medicine and Acupuncture in Canada.",9:"We are located in a central area of Calgary. This enables easier transportation to and from the college, including Public Transportation."}}},contact:{title:"Still Have Questions?",description:"Our admissions team is here to help you with any additional questions about our programs.",phone:"Phone: 1-403-287-8688",email:"Email: [email protected]",address:"Address: 107, 4014 Macleod Trail. South. Calgary, AB T2G 2R7"}}},page127:{faculty332:{hero:{title:"Our Faculty",subtitle:"Help you realize your dream of being a true healer"},mission:{title:"Our Mission",description:'"Our mission is to provide students high quality, authentic acupuncture, massage and TCM education with standards and integrity comparable to TCM and acupuncture programs in China."'},faculty:{frankDu:{name:"Dr. Frank Du",title:"President and Founder",credentials:"Doctor of Acupuncture",description:"<p>Dr. Du has over thirty years of experience in teaching and clinical practice of TCM and acupuncture in Canada, Australia, and China. He is a Doctor of Acupuncture in Alberta. Dr. Du earned his Bachelor of Medicine, specializing in Traditional Chinese Medicine (TCM), from Beijing University of Chinese Medicine in 1988 and obtained his Master of Science from RMIT University in Australia in 1999.</p><p>As the founder and president of CCTCMA, he is responsible for designing the program, developing the curriculum, and overseeing all academic activities. He is also a professor at the CCTCMA, where he teaches various subjects in Traditional Chinese Medicine (TCM) and acupuncture.</p>"},marcRaedschelders:{name:"Dr. Marc Raedschelders",title:"Senior Faculty member",credentials:"Emeritus",description:"<p>Dr. Marc Raedschelders graduated from the Catholic University of Louvain, Belgium with a degree in Physical Therapy in 1978. In 1983 he started his training in TCM at the European University for Traditional Chinese Medicine in Belgium from which he received his diploma in 1986. He continued with advanced TCM education in Europe, China, and Canada. He studied in Beijing (1986, 1991) and Nanjing (1998) and continued upgrading in China on a regular basis (2004-2011).</p><p>In 1999, he started coordinating the Acupuncture Program at Grant MacEwan University where he chaired this program until 2011. Marc is a Registered Acupuncturist and member of several national and international professional acupuncture and TCM associations. He is past president of the Acupuncture – TCM Society of Alberta (President from 1997 to 2000). He was also a member of the Board of Examiners in Acupu
319ncture (1995 to 1999) and a member of the Acupuncture Committee for many years, both ministerial appointments from the province of Alberta.</p><p>Until 2011, he served as Vice-President of the College and Association of Acupuncturists of Alberta (CAAA). He is a diplomat of the National Certification Commission for Acupuncture and Oriental Medicine (NCCAOM) in the U.S. and also completed his NADA requirements for Acupuncture Detox Specialist (ADS). Marc has extensive TCM experience as a practitioner, educator, and administrator.</p>"},andreaHejtmanek:{name:"Dr. Andrea Hejtmanek",title:"Senior Faculty Member",credentials:"Doctor of Acupuncture, RMT",description:"<p>Dr. Andrea Hejtmanek graduated from the University of Calgary with a Bachelor's Degree in Religious Studies in 2003, thereafter she enrolled in Traditional Chinese Medicine and Acupuncture at the Calgary College of Traditional Chinese Medicine and Acupuncture, where she completed the Doctor of TCM program in 2009.</p><p>Andrea is involved with TCM and Acupuncture regulation in Alberta; she is the Vice President of the Alberta Association of Traditional Chinese Medical Doctors and is Co-Chair of Membership Services for the College and Association of Acupuncturists of Alberta. Andrea also volunteers at the Drop-In Centre supervising interns for community acupuncture.</p><p>In addition to her extra-curricular activities, Dr. Hejtmanek is the owner of Nourishing Life Health Care where she specializes in anti-aging medicine, facial rejuvenation, digestive disorders and stress relief. Her practice emphasizes applying principles as taught in Classical Chinese medical literature with an integrated eastern and whole-foods approach to dietary therapy.</p>"},juanGuo:{name:"Dr. Juan Guo",title:"Faculty Member",credentials:"DTCM, R.Ac.",description:"Dr. Juan Guo is an experienced faculty member at CCTCMA with extensive clinical and academic background in Traditional Chinese Medicine. He specializes in TCM internal medicine and Chinese herbal medicine formulations, particularly in treating digestive disorders."},hungTran:{name:"Dr. Hung (Huwell) Tran",title:"Senior Faculty Member",credentials:"Doctor of Acupuncture, PhD in Anatomy, MD (Vietnam), MBA",description:"<p>Dr. Hung (Huwell) Tran graduated from The HCMC University of Medicine and Pharmacy at Saigon in 1982. After four years of residency at several hospitals in Internal Medicine and Surgery, he started his post-graduate education, during which he spent 18 months as a Visiting Fellow at the School of Medicine, University of New South Wales in Sydney, Australia. Hung obtained his PhD in Anatomy in 1994 and an MBA from the University of Brussels in 1997.</p><p>In 2013 he migrated to Canada, took courses at SAIT and was granted Ready to Teach and Instructional Skills Certificates. Since 2014 Dr. Hung (Huwell) Tran has redirected his interest to Traditional Chinese Medicine.</p><p>Hung's multi-track career includes more than 15 years of teaching Anatomy and Physiology and Healthcare Management at The University of Medicine and Pharmacy at HCM City, School of Nursing of Western International University, and Saigontech (affiliate of Houston Community College USA in Vietnam), together with roles as a western medicine practitioner, healthcare administrator, and corporate trainer at different healthcare and pharmaceutical institutions. He is co-author of three anatomy textbooks and has published seven articles.</p>"},luyangLiu:{name:"Dr. Luyang (Martin) Liu",title:"Dean and Faculty Member",credentials:"Doctor of Acupuncture, RMT, and PhD in Acupuncture",description:"<p>Dr. Liu earned his bachelor's degree in Traditional Chinese Medicine from Liaoning University of Traditional Chinese Medicine in 2012. He also earned his master's degree and PhD in Acupuncture from Liaoning University of Traditional Chinese Medicine in 2014 and 2017 respectively.</p><p>Dr. Liu has years of clinical and teaching experience at Shenzhen Hospital of Guangdong University of TCM, and a college in Toronto. Following Liaoning eye acupuncture master Dr. Peng Jingshan, Dr. Liu has been engaged in the research and clinical practice of eye acupuncture for years and gained extensive experience treating various diseases with fascia manipulation.</p>"},erinTaylor:{name:"Dr. Erin Taylor",title:"Faculty Member",credentials:"Doctor of Acupuncture",description:"<p>Dr. Erin graduated with a BSc in kinesiology at the University of Calgary in 2000. Her interests in mind-body energetic medicine led her to study at the Calgary College of Traditional Chinese Medicine and Acupuncture where she graduated in 2008 as a doctor of Chinese Medicine and as a registered acupuncturist. Erin has continued her practice and completed her first year of teaching at the college. She presently practices as a Doctor of Chinese Medicine and registered acupuncturist part-time and teaches at both the Mount Royal College and the Calgary College of Chinese Medicine and Acupuncture. In her free time, she enjoys taking workshops to further her studies in this vast and exciting field, tutoring as well as spending time reading, hiking, biking and walking her dog.</p>"},allisonTrent:{name:"Dr. Allison",title:"Faculty Member",credentials:"Doctor of Acupuncture, RMT",description:"<p>Dr. Allison began her journey into eastern and western medicine over 20 years ago through her own recovery. Her fascination with the human body, mind, and spirit led her to complete the Doctor of Traditional Chinese Medicine program at CCTCMA in 2009.</p><p>She now has a thriving practice where she specializes in sports acupuncture, shonishin (pediatric acupuncture), pregnancy and post-partum care, Acutonics, stress, and women's health. Prior to studying Chinese Medicine, Dr. Allison studied Massage Therapy and received a 2,200-hour diploma in 2001. The combination of acupuncture and massage in practice allows her to bring ancient wisdom to modern care. With 20 years of lecturing at several massage schools, she continues to expand her knowledge and stay current in the field.</p><p>Dr. Allison believes that maintaining one's health should follow a holistic approach, and her gentle treatment style reflects that philosophy. Away from work, she loves to be in nature whenever possible, canoeing, exploring, spending time with her cats, and reading in a hammock.</p>"},antoninKodet:{name:"Dr. Antonin Kodet",title:"Faculty Member",credentials:"DTCM, R.Ac.",description:"Dr. Antonin Kodet is a dedicated faculty member at CCTCMA with a strong foundation in Traditional Chinese Medicine theory and extensive clinical practice experience. His deep understanding of TCM principles makes him an excellent educator for theoretical aspects of the medicine."},zhichunZhang:{name:"Dr. Zhichun Zhang",title:"Faculty Member",credentials:"Doctor of Acupuncture, RMT",description:"<p>Dr. Zhichun is a graduate from Calgary College of Traditional Chinese Medicine and Acupuncture in 2018 and has been practicing TCM and acupuncture since then as a registered acupuncturist in Alberta. She believes in the human body's great potential to heal itself, so she focuses her TCM acupuncture treatments on strengthening the healing power in each of her patients.</p><p>She earned a Master's Degree from Dalian University of Foreign Languages in China in 2003. She taught English Literature and Translation at a university before moving to Canada in 2012. Nine years of teaching experience contribute to her effective communication and education of patients about TCM concepts for maintaining optimal health. She currently enjoys the combination of practicing and teaching TCM acupuncture.</p>"}
319,jiawenCui:{name:"Dr. Jiawen Cui",title:"Faculty Member",credentials:"Doctor of Acupuncture, RMT, PhD in Integrated Medicine",description:"<p>Dr. Jiawen has 12 years of teaching, research, and clinical experience in TCM, acupuncture, massage, and Chinese and western integrative rehabilitation in China. Dr. Cui earned a Bachelor's and Master's Degree of Medicine in TCM and a Doctor's Degree of Medicine in Chinese and western integrative rehabilitation from Shanghai University of Traditional Chinese Medicine in 2009, 2011, and 2021 respectively, and obtained a Master's Degree of Science in Rehabilitation Science of Physical Therapy in 2015.</p><p>Her expertise areas include musculoskeletal and neurological diseases.</p>"},kevinClement:{name:"Mr. Kevin Clement",title:"Faculty Member",credentials:"RMT",description:"Kevin Clement is an experienced Registered Massage Therapist and instructor who brings practical clinical expertise to the CCTCMA massage therapy program. He specializes in therapeutic massage and anatomical education, providing hands-on training for students."},muradEhsan:{name:"Dr. M. Murad Ehsan",title:"Faculty Member",credentials:"MD, MPhil, RMT",description:"Dr. M. Murad Ehsan is a dedicated healthcare professional with a robust background in both clinical practice and academic instruction across multiple countries. Earning an MD from Sindh Medical College, Pakistan in 2001, Dr. Ehsan began his career as a Lecturer in Basic Health Sciences at Hamdard University, Pakistan in 2003, while simultaneously serving as a Family Physician at Shamim Clinic. In 2006, he relocated to the Middle East, where he worked as a Surgical Resident at Aflaj General Tertiary Hospital for two years, refining his clinical expertise in a tertiary care setting. Returning to Pakistan in 2008, Dr. Ehsan resumed his academic pursuits as a Lecturer in Basic Health Sciences at Altamash Institute of Dental Medicine and as an Emergency Resident at South City Hospital. In 2010, he transitioned to Ziauddin University, continuing to impart knowledge in Basic Health Sciences. His commitment to academic excellence culminated in the completion of a Master's degree in Pharmacology from Ziauddin University in 2013. In pursuit of broader horizons, Dr. Ehsan moved to Canada in 2013. By 2016, he joined Columbia College Calgary as an Instructor in Basic Health Sciences, contributing to the next generation of healthcare professionals. Expanding his clinical skillset, he earned a Diploma in Massage Therapy from ABM College Calgary in 2020. Dr. Ehsan's career is marked by an unwavering commitment to education, clinical service, and professional development, spanning Pakistan, the Middle East, and Canada. His diverse background and dedication make him a valuable asset to the healthcare and academic communities."},lorenaBulcao:{name:"Dr. Lorena Bulcao",title:"Faculty Member",credentials:"Doctor of Acupuncture, RMT",description:"<p>Dr. Lorena Bulcao is a Registered Massage Therapist (RMT) and Doctor of Acupuncture with over 25 years of experience in therapeutic bodywork and holistic wellness. She is known for her calm, client-centered approach and her ability to create personalized treatments that support relaxation, pain relief, and overall well-being.</p><p>Her massage therapy background includes relaxation, deep tissue, Swedish, myofascial release, trigger point therapy, lymphatic drainage. Lorena holds a Doctor of Acupuncture diploma and has extensive training in anatomy, physiology, and pathology through nursing studies. She has also studied yoga therapy in India and explored complementary healing modalities such as Reiki and Thai massage, which further inform her integrative and holistic approach to care.</p><p>Currently, Lorena practices at a multidisciplinary clinic and teaches part-time at the Calgary College of Traditional Chinese Medicine and Acupuncture, where she mentors future massage therapists and acupuncturists. She also maintains a small home-based practice for long-standing clients. Lorena is passionate about helping people feel balanced, relaxed, and supported in their healing and wellness journey.</p>"},marynaEvans:{name:"Dr. Maryna Evans",title:"Faculty Member",credentials:"Doctor of Acupuncture",description:"<p>Dr. Maryna Evans is a Doctor of Acupuncture with over 17 years of experience in sports medicine and more than a decade in clinical acupuncture practice. Her work bridges the gap between traditional Chinese medicine and modern sports and musculoskeletal care.</p><p><strong>Advanced Training. Real-World Results.</strong></p><p>Dr. Evans has completed extensive advanced training in acupuncture and sports medicine, including specialized one-on-one training with Whitfield Reaves, a nationally recognized leader in sports medicine acupuncture. She has also trained internationally in China and gained field experience in Myanmar with Doctors Without Borders, bringing a rare depth of clinical perspective to her practice.</p><p><strong>What Patients and Students Can Expect</strong></p><p>Dr. Evans is known for her precise assessments, individualized treatment plans, and results-driven care. Her treatments may include:</p><ul><li>Acupuncture and electroacupuncture</li><li>Sports medicine-focused treatments for injury, pain, and recovery</li><li>Herbology and plant-based medicine</li><li>Integrated care plans that complement modern medical treatment</li></ul><p>She has successfully treated high-performance and endurance athletes, including competitors in multiple Ironman races in Penticton, and has helped hundreds of patients improve mobility, recover from injury, and return to activity with confidence.</p><p><strong>
319Community-Focused, Patient-Centered</strong></p><p>Beyond the clinic, Dr. Evans is deeply involved in the community, including volunteer work supporting Ukrainian refugees in Canada and on-site support for athletes at Ironman events.</p>"},guichaoWu:{name:"Dr. Guichao Wu",title:"Faculty Member",credentials:"Doctor of Acupuncture, RMT",description:`<p>Dr. Gui Chao completed his Bachelor of Medicine specializing in Traditional Chinese Medicine (TCM) and Acupuncture from the Beijing University of Chinese Medicine in 1998. Dr. Wu has since devoted himself to his career in patient care utilizing Chinese Medicine and has over 20 years of experience in the practice of TCM.</p><p>He specializes in treating a variety of medically acute and chronic conditions using a combination of TCM acupuncture, Chinese herbal medicine, cupping, and other methods. Acupuncture involves the virtually painless insertion of very fine needles into the body at specific points called acupoints. Each point has a very particular function and plays a key role in every individualized treatment. Dr. Wu's expertise in selecting the acupoints is what makes the treatment work effectively. These treatments can decrease inflammation, balance hormones, improve blood circulation, boost digestion, regulate moods, and strengthen the immune system.</p><p>Dr. Wu has great experience in treating and managing the following conditions with great success:</p><ul><li>Fatigue, brain fog, menopausal syndrome, PMS and dysmenorrhea</li><li>Acute/chronic pain including headaches, migraines, muscle/joint pain, frozen shoulder, neck and back pain, sciatic pain, arthritis, neuralgia, sciatica, bursitis and tendonitis</li><li>Psycho-emotional disorders such as stress, anxiety, depression and insomnia</li><li>Digestive disorders including indigestion, IBS, diarrhea and constipation</li><li>Hay fever, sinus infection, eczema, shingles, Bell's Palsy, morning sickness and weight management</li><li>Other conditions</li></ul><p>Dr. Wu is committed to offering his knowledge, experience and passion for treating your health conditions, prevent the disease and help achieve your optimal health! Dr. Gui Chao Wu is currently accepting new patients. To book an appointment, please call 403 237 2353.</p><p>Dr. Gui Chao Wu is also the Mentor and Founder of the <a href="https://www.acupunctureinternship.ca/" target="_blank" rel="noopener noreferrer">Student Internship Program.</a></p>`},yanlingZhao:{name:"Dr. Yanling Zhao",title:"Faculty Member",credentials:"Doctor of Acupuncture, RMT",description:"<p>Dr. Yanling Zhao is a Registered Massage Therapist and Doctor of Acupuncture with more than 15 years of clinical experience in massage therapy and acupuncture. She brings a strong interdisciplinary perspective to patient care, education, and rehabilitation.</p><p>As an educator, Dr. Zhao taught sports medicine at Beijing University of Chinese Medicine for six years. After relocating to Canada, she continued her teaching career in massage therapy at the Calgary College of Traditional Chinese Medicine and Acupuncture.</p><p>She earned her Massage Therapy Diploma from Mount Royal University in 2012. Throughout her career, Dr. Zhao has developed expertise in assessing and treating sports injuries, musculoskeletal conditions, and rehabilitation needs, using an integrated approach tailored to each client.</p><p>Dr. Zhao is committed to helping students develop strong clinical skills, sound critical thinking, and professional confidence. She draws on her practical knowledge and real-world experience to prepare future massage therapists for successful and rewarding careers.</p><p>She views teaching as an opportunity to inspire the next generation of healthcare professionals through mentorship, hands-on learning, and a commitment to lifelong education.</p>"},serenaWu:{name:"Dr. Serena Wu",title:"Faculty Member",credentials:"Doctor of Acupuncture, RMT",description:"<p>Dr. Serena is a TCM graduate with a Bachelor's degree in Medicine from the Guangzhou University of Chinese Medicine (2013) in China. She currently serves on the Competency Committee for the College of Acupuncturists of Alberta.</p><p>She has extensive training in Chinese herbal prescriptions and acupuncture treatments for common illnesses and conditions. Her specialization is in post-stroke recovery, anxiety, depression, insomnia, and pain management (for example gout, arthritis, frozen shoulder, migraine headaches). In addition to being a registered acupuncturist in Alberta, Dr. Serena Wu also passed the pan-Canadian exam for TCM Herbology in BC. She is currently teaching TCM Herbology courses at Calgary College of TCM and Acupuncture.</p>"},olivierBarre:{name:"Dr. Olivier Barré",title:"Faculty Member",credentials:"Doctor of Acupuncture, PhD in Biochemistry/Biomedicine",description:"<p>Dr. Olivier Barré earned a PhD in Biochemistry and Biomedicine with honors from the University of Bern in Switzerland where he worked on copper homeostasis in bacteria and humans. Olivier continued in a postdoctoral position at UBC, doing research on breast and prostate cancer. At a young age, he developed a passion for Chinese Medicine and later obtained his Traditional Chinese Medicine Practitioner (RTCMP) Diploma from the International College of TCM of Vancouver.</p><p>Olivier fulfilled his dream of opening his own integrated practice in Downtown Vancouver in 2016 (One Hand Acupuncturist) and works as a TCM Practitioner. His vision has always been to combine his western science background with the natural holistic approach of Traditional Chinese Medicine. His focus includes pain management, sport injuries, rehab, fertility, anti-aging, and pelvic floor health. Nutrition is also one of his passions and a powerful tool to supp
319ort faster recovery and a healthier lifestyle, so he organizes nutrition and cooking classes.</p><p>During his free time, Olivier enjoys martial arts (BJJ, kick-boxing, kung-fu), tennis, scuba diving, hiking, and cooking and baking. He also volunteers at the Canadian Cancer Society and other associations.</p>"},ellenHuang:{name:"Dr. Ellen Huang",title:"Faculty Member",credentials:"DTCM, R.Ac.",description:"Dr. Ellen Huang is a dedicated faculty member at CCTCMA with specialized expertise in women's health and TCM gynecology. She focuses on fertility support, reproductive health, and women's wellness throughout different life stages."},kaiCheng:{name:"Prof. Kai Cheng",title:"Visiting Professor of CCTCMA, Professor of BUCM",credentials:"Ph.D, Professor at Beijing University of Chinese Medicine",description:"Professor Cheng Kai is a distinguished visiting professor at CCTCMA who holds a Ph.D in Chinese Medicine and serves as a Professor at Beijing University of Chinese Medicine. He brings cutting-edge research and advanced theoretical knowledge to our institution, specializing in auricular diagnosis and clinical research methodologies."},jessReynolds:{name:"Dr. Jess Reynolds",title:"Faculty Member",credentials:"Doctor of Acupuncture, RMT",description:"<p>Dr. Jess Reynolds has been practicing TCM since 2013. Throughout his career, he has helped patients work through chronic pain, digestive disorders, and stress or emotion-related disorders. Jess 
319was a lead instructor at a massage college in Calgary for several years, teaching Advanced Neuromuscular Therapy and Orthopedic Assessment, and has guest lectured on topics of neuroplasticity and hypnotherapy at Mount Royal University.</p><p>In addition to his work as a Doctor of Chinese Medicine, Jess practices as a health coach and nutritionist, and regularly facilitates workshops in self-development and massage therapy. He integrates practices and wisdom from TCM, ancestral living, nutrition, and wellness to offer his patients and students a comprehensive and holistic way of healing.</p>"},joanBoux:{name:"Dr. Joan Boux",title:"Faculty Member",credentials:"DTCM, R.Ac.",description:"Dr. Joan (Joanie) Boux is an experienced faculty member at CCTCMA with specialized expertise in geriatric care and age-related health conditions. She focuses on providing compassionate care for senior patients using Traditional Chinese Medicine approaches."},williamHan:{name:"Dr. William W. Han",title:"Faculty Member",credentials:"DTCM, R.Ac.",description:"Dr. William W. Han is a dynamic faculty member at CCTCMA with specialized training in sports medicine and athletic performance enhancement using Traditional Chinese Medicine approaches. His expertise in injury prevention and performance optimization makes him valuable for treating athletes."},minJungChoi:{name:"Dr. Min Jung Choi",title:"Faculty Member",credentials:"DTCM, R.Ac.",description:"Dr. Min Jung Choi is a compassionate faculty member at CCTCMA with specialized training in mental health and emotional wellness using Traditional Chinese Medicine approaches. She focuses on stress management, anxiety, and depression treatment through holistic TCM methods."}}}},"page128.hiring332":{hero:{title:"Hiring",subtitle:"Join our team of dedicated professionals in acupuncture, massage and TCM education"},main:{title:"Join Our Team at CCTCMA",description:"At CCTCMA, we are always looking for talented, passionate, experienced professionals to join our team."},looking:{title:"We Are Looking For:",description:"If you have the following qualifications and have a passion for teaching, please send in your resume or fill out the application online."},faculty:{title:"Faculty Positions",req1:"Master's or Ph.D. in TCM/Acupuncture",req2:"Minimum 15 years of experience",req3:"Teaching experience preferred",req4:"Passion for education"},clinical:{title:"Clinical Positions",req1:"Licensed practitioners (R.Ac, RMT, DTCM)",req2:"Clinical supervision experience",req3:"Commitment to student mentorship",req4:"Professional development mindset"},apply:{title:"How to Apply",step1:{title:"Submit Your Resume",description:"Send your detailed resume highlighting your experience and qualifications"},step2:{title:"Online Application",description:"Complete our online application form with your details and preferences"}},contact:{title:"Ready to Join Our Team?",description:"We'd love to hear from qualified professionals who share our passion for TCM education",email:"Email: [email protected]",phone:"Phone: (403) 287-8688",address:"Address: 107, 4014 Macleod Trail. South. Calgary, AB"},benefits:{excellence:{title:"Educational Excellence",description:"Be part of a team committed to the highest standards in TCM education"},growth:{title:"Professional Growth",description:"Opportunities for continuous learning and professional development"},collaborative:{title:"Collaborative Environment",description:"Work alongside experienced professionals in a supportive atmosphere"}}},"page129.jobListing332":{hero:{title:"Job Listing",subtitle:"Current opportunities for TCM practitioners, acupuncturists, and massage therapists"},sections:{jobDescription:"Job Description",requirements:"Requirements",benefits:"Benefits & Highlights",howToApply:"How to Apply"},contact:{label:"Contact:"},application:{instructions:"Please include your resume and cover letter when applying."},jobs:{job0:{title:"Registered Acupuncturist",company:"Established Urgent Care Chiropractic",location:"📍 Sunridge Professional Centre, North East Calgary",type:"💼 Part-time (Full-time post COVID)",postedDate:"Posted: May 20, 2021",description:"Established Urgent Care Chiropractic is a multidisciplinary clinic located in Sunridge Professional Centre, North East Calgary. We are seeking a highly motivated, professional, and experienced acupuncturist to join our practice.",requirements:{req0:"Valid College of Acupuncturists of Alberta (CAA) registration in good standing",req1:"Ability to multitask and manage a diverse range of patients with care",req2:"Ethical and patient-centred care is to be provided, following all protocols and procedures with evidence-based care",req3:"Positive attitude",req4:"Valid Drivers License"},benefits:{ben0:"Collaborative work environment",ben1:"Multidisciplinary team including Massage, Chiropractic and Acupuncture care",ben2:"Hours and Salary reviewed upon selection"},contact:"[email protected]"},job1:{title:"Massage Therapists",company:"iCare",location:"📍 Calgary, AB",type:"💼 Various positions available",postedDate:"Posted: June 21, 2024",description:"iCare is hiring qualified massage therapists to join our growing team. We offer a supportive work environment and opportunities for professional growth.",requirements:{req0:"Valid RMT license in Alberta",req1:"Professional liability insurance",req2:"Strong communication skills",req3:"Commitment to patient care excellence"},benefits:{ben0:"Competitive compensation",ben1:"Flexible scheduling options",ben2:"Professional development opportunities",ben3:"Supportive team environment"},contact:"Contact through CCTCMA for more information"}},noJobs:{title:"No Current Job Listings",description:"We don't have any open positions at the moment, but we're always looking for talented professionals.",stayConnected:{title:"Stay Connected",description:"Send us your resume and we'll keep you in mind for future opportunities.",email:"[email protected]"}},opportunities:{title:"Looking for More Opportunities?",description:"CCTCMA graduates are highly sought after by employers across Canada and internationally.",clinical:{title:"Clinical Practice",description:"Private clinics and multidisciplinary health centers"},education:{title:"Education",description:"Teaching positions at colleges and universities"},entrepreneurship:{title:"Entrepreneurship",description:"Start your own practice or wellness center"}}},"page130.photoGallery332":{hero:{title:"Photo Gallery",subtitle:"Discover life at CCTCMA through our collection of photos showcasing our facilities, students, and community"},filter:{all:"All",teaching:"Teaching",studentLife:"Student Life",graduation:"Graduation",socialActivities:"Social Activities",communityService:"Community Service",internationalPrograms:"International Programs",communityEvents:"
319Community Events",campus:"Campus",studentClinic:"Clinic"},comingSoon:{title:"More Photos Coming Soon!",description:"We're continuously updating our photo gallery with new images of our facilities, events, and student activities. Check back regularly to see the latest additions."},preview:{campusLife:{title:"Campus Life",description:"Daily activities and student interactions"},specialEvents:{title:"Special Events",description:"Graduations, ceremonies, and celebrations"},clinicalPractice:{title:"Clinical Practice",description:"Students in clinic"}}},"page1200.application":{hero:{title:"Online Application",subtitle:"Download the application form and submit your filled form"},tabs:{download:"Download Forms",upload:"Upload Completed Form",online:"CCTCMA New Student Application Form"},download:{title:"Download Application Forms",description:"Download the application form and submit your filled form:",pdf:{title:"PDF Format",description:"Download the PDF version to fill digitally or print and complete by hand.",buttonText:"Click here to download .pdf"},word:{title:"Word Format",description:"Download the Word document version for easy editing and completion.",buttonText:"Click here to download .docx"}},upload:{title:"Submit New Student Application Form (scanned)",instructions:{title:"Instructions",text:"If you have downloaded the New Student Application Form and filled it. Please scan it and save it as pdf or jpg file. You can submit your application online by uploading your scanned application form here."},form:{page1Label:"Upload filled application form: Page 1 *",page2Label:"Upload filled application form: Page 2 *",page3Label:"Upload filled application form: Page 3 *",emailLabel:"Email",submitButton:"Submit Application",submittingButton:"Submitting..."}},online:{instructions:{title:"Instructions",collegeInfo:{name:"Calgary College of Traditional Chinese Medicine and Acupuncture (CCTCMA)",address1:"107, 4014 Macleod Trail. South.",address2:"Calgary, Alberta, Canada T2G 2R7",website:"Website: www.cctcma.com",formTitle:"Admission Application Form"},description:"Completed applications are reviewed on an ongoing basis for entrance into September classes. Applicants are strongly urged to submit application materials as early as possible due to the limited class size. Please contact CCTCMA if you require any assistance with this application."},programSelection:{title:"Program Selection",label:"I apply for *",acupuncture:"Three-year Acupuncture Diploma Program",massage:"2200 Hour Registered Massage Therapy (RMT) Diploma Program",tcm:"Four-year TCM Diploma Program",studyMode:{title:"Study Mode",fullTime:"Full time",partTime:"Part time"}},personalInfo:{title:"Personal Information",lastName:"Last name *",firstName:"First name *",middleName:"Middle Name Initial",dateOfBirth:"Date of Birth *",gender:{title:"Gender *",female:"Female",male:"Male"}},addressInfo:{title:"Address Information",permanentAddress:"Permanent Address of Applicant *",apartment:"Apt, suite, etc.",country:"Country",selectCountry:"Select Country",city:"City",state:"State/Province",zipCode:"Zip code"},contactInfo:{title:"Contact Information",phoneHome:"Telephone (home) *",phoneWork:"Telephone (work)",phoneCell:"Telephone (cell)",preferredContact:{title:"Preferred contact number *",description:"The phone number you want school to use to contact you.",homePhone:"Home phone",workPhone:"Work phone",cellPhone:"Cell phone"},citizenship:{title:"Citizenship *",canadian:"Canadian citizen",permanentResident:"Canadian Permanent Resident",other:"Other"},email:"E-mail *"},educationHistory:{title:"Education History",instructions:{title:"Instructions",text:"Please list secondary school and post-secondary schools and degrees in the space below."},institution1:{title:"Institution 1 *",name:"Institution Name *",level:"Level Attained *",dateFrom:"Date From *",dateTo:"To Date *"},institution2:{title:"Institution 2",name:"Institution Name",level:"Level Attained",dateFrom:"Date From",dateTo:"To Date"},institution3:{title:"Institution 3",name:"Institution Name",level:"Level Attained",dateFrom:"Date From",dateTo:"To Date"},additionalEducation:{title:"Additional Education Information",description:"If you have attained more secondary sc
319hool and post-secondary schools and degrees, please use the following area for additional information. Please indicate the institution's name and address, attending date and level attained."}},backgroundInfo:{title:"Background Information",crimeConviction:{question:"Have you ever been convicted of any crime? *",yes:"Yes",no:"No",details:"If yes, please provide detailed descriptions"},contagiousDiseases:{question:"Have you ever been diagnosed with any contagious diseases or serious life threatening diseases in the past five (5) years? *",yes:"Yes",no:"No",details:"If yes, please provide detailed descriptions"},attestation:{question:"I HEREBY ATTEST THAT ALL INFORMATION PROVIDED IN THIS APPLICATION IS TRUE. *",yes:"Yes",no:"No"}},applicationProcess:{title:"Note",stepOne:{title:"Step One: Submit your complete signed application package",description:"Submit your complete application package to: Calgary College of TCM and Acupuncture 107, 4014 Macleod Trail. South, Calgary, Alberta, Canada T2G 2R7",checklistTitle:"Complete application package checklist:",items:["A completed, signed application form (the form can be downloaded from our school website.","All applications must be accompanied by a non-refundable application fee of $200.00 ($500.00 for international students), payable to Calgary Oriental Health Ltd.","Copies of all official transcripts.","Copies of all diplomas, certificates, and/or degrees.","One (1) recent photograph.","Two (2) written references.","A current resume,","A personal letter expressing the reasons for pursuing this training, and","A copy of a government-issued photo ID."]},stepTwo:{title:"Step Two: Acceptance and Tuition Deposit",items:["Applicants may be contacted to schedule an in-person or telephone interview.","The letter of Acceptance and Alberta Student Enrollment Contract will be delivered to the prospective student by mail, email or in person.","The signed Alberta Student Enrollment Contract must be returned to the Calgary College of TCM and Acupuncture within 10 business days.","All materials in this application become part of your permanent, confidential record at CCTCMA; they will not be returned, and","Applicants are strongly advised to familiarize themselves with the current curriculum and policy information via our college website and/or information package."]}},form:{submitButton:"Submit",submittingButton:"Submitting..."}},messages:{successTitle:"Application Submitted Successfully!",successMessage:"Thank you for your application. We will review your submission and contact you within 2-3 business days.",submitAnother:"Submit Another Application",submissionError:"Failed to submit application. Please try again.",emailRequired:"Please enter your email address",filesRequired:"Please upload all three application form pages"}},page190:{fees332:{hero:{title:"Tuitions and Fees",subtitle:"Official tuition rates and financial assistance options for your Traditional Chinese Medicine education"},official:{title:"Tuitions and Fees",subtitle:"The summary of tuition fees for the programs at CCTCMA is the following:"},table:{headers:{program:"Student Type",acupuncture:"Acupuncture Program",massage:"2200 Hour Massage Therapy Program",dtcm:"TCM Program"},rows:{canadian:{label:"Canadian Students",acupuncture:"$9,900 per year for three years",massage:"$9,900 per year for two years",dtcm:"$9,900 per year for four years"},international:{label:"International Students",acupuncture:"$11,500 per year for three years",massage:"$11,500 per year for two years",dtcm:"N/A"}}},importantInfo:{title:"Important Information",tuitionPolicy:{title:"Tuition Policy",items:["The tuition fees will not increase after enrollment","Tuition Collection and Refund Policy refers to the Standard Alberta Student Enrollment Contract","Refunds will only be processed to the entity/location that originally paid the tuition"]},partTimeOptions:{title:"Part-Time Options",items:["Part-time students pay on a credit basis at CAN$450.00 per course credit","The part-time program is not available for international students"]}},additionalCosts:{title:"Additional Costs",description:"Study Guides and Teaching Materials: The cost ranges around $1000 per year for all programs. Study guides need to be purchased from the school. Other references for TCM and Acupuncture may be purchased from other sources at the student's own expense."},financialAid:{title:"Financial Assistance",description:"Financial assistance is available to qualified Canadian students through the Federal and Provincial Student Loan programs.",availableSupport:{title:"Available Support:",items:["Federal Student Loan programs","Provincial Student Loan programs","Payment plans and consultation","Financial aid counseling"]},nextSteps:{title:"Next Steps:",items:["Contact our Administration Office","Discuss your student loan status","Apply for available programs","Create a financial plan"]},importantNote:"Important Note: Students wishing to obtain financial aid may discu
319ss their student loan status with our Administration Office. Our staff is available to help guide you through the application process and explore all available options.",contactButton:"Contact Administration Office"}}},page191:{whyChoose332:{hero:{title:"Why Choose CCTCMA",subtitle:"Discover what makes us one of Canada's premier acupuncture, massage and TCM schools"},reasons:{0:{title:"Hands-on Learning",description:"Clinical practice and hands-on learning are key components of all of our programs."},1:{title:"Experienced Instructors",description:"Our instructors have decades of teaching experience, both in Canada and internationally."},2:{title:"International Experience",description:"Our staff consists of highly trained and seasoned individuals from locations all over the world."}},mission:{title:"Our Mission",statement:"Our mission is to provide our students with high quality, authentic education in acupuncture and Traditional Chinese Medicine. We strive to maintain standards of education comparable to Acupuncture and TCM programs in China."},advisory:{title:"Advisory Committee",member:{0:{name:"Dr. Marc Raedschelders",credentials:"DTCM, R. Ac., Dipl. Ac. (NCCAOM), ADS (NADA)"},1:{name:"Dr. Huiying Wang",credentials:`MD (China), TCMD (China)
320President of Teaching Hospital of BUCM`}},drWang:{modal:{name:"Dr. Huiying Wang",title:"Advisory Committee Member",hospital:"President of Teaching Hospital of BUCM",bio:`Dr. Huiying Wang is a distinguished authority in the field of Traditional Chinese Medicine (TCM), whose career spans clinical practice, academic leadership, and medical education. Dr. Wang earned their MD and TCMD degrees from the prestigious Beijing University of Chinese Medicine (BUCM) in 1988, laying a strong foundation in both modern and traditional aspects of medical science.
321
322Over the course of several decades, Dr. Wang has served as the President of Beijing Acupuncture Hospital, the affiliated teaching hospital of BUCM. In this capacity, Dr. Wang has demonstrated exceptional leadership, guiding the institution to prominence as a center for excellence in acupuncture and TCM. Their stewardship has ensured the hospital remains at the forefront of integrative medicine, blending time-honored techniques with contemporary innovations.
323
324With extensive experience in clinical practice, Dr. Wang is renowned for her expertise in acupuncture and various TCM modalities, treating a wide range of conditions and earning the trust of countless patients. Their clinical acumen is complemented by a deep engagement in medical management, research, and professional organizations, where Dr. Wang continues to influence policy and set benchmarks for quality care and ethical practice.
325
326Throughout their illustrious career, Dr. Huiying Wang has been recognized for remarkable contributions to TCM practice, education, and hospital administration. Dr. Wang's work not only upholds the rich heritage of Chinese medicine but also inspires innovation and excellence for the future of the field.`}}},accreditation:{title:"Accreditation",programs:[{program:"Acupuncture Diploma",details:["Accredited by Private Career Training Institutions Agency (PCTIA)","Recognized by the College of Acupuncturists of Alberta (CAA)","Meets requirements for registration as a Registered Acupuncturist in Alberta","Curriculum approved by regulatory bodies"]},{program:"Massage Therapy Diploma",details:["Accredited by Private Career Training Institutions Agency (PCTIA)","Recognized by the College of Massage Therapists of Alberta (CMTA)","Meets requirements for registration as a Registered Massage Therapist in Alberta","2200-hour comprehensive program"]}]},testimonials:{title:"Our Faculty - Help You Realize Your Dream of Being a True Healer",0:{name:"Kun Li",text:`My name is Kun Li. I have studied at the Calgary College of TCM and Acupuncture for 3 years. When I was in my second year studying, I started my
327clinical practice under supervision. When patients said that they felt much better after my treatment, I could not believe it. I thought my patients
328were just so polite to me until patients brought their mothers, and friends to me. I feel happy and feel pressure as well. I treated lots of patients in my
329internship and also learned a lot from them. When my treatment does not work, I will dig more and more, and I enjoy it. This is the life that TСМ
330brings to me. I really like it. I am very regretful why I did not study TCM earlier, otherwise, maybe I am one of the famous TCM Doctors, haha......`},1:{name:"Ying Li",text:`My time at the Calgary College of TCM has been one of challenges and constant growth. The coursework was in depth and demanding but the
331teaching staff were knowledgeable, approachable and supportive. Dr. Du and the rest of the staff always tried to bring out the best in us as students
332and to help us reach our goals and potential. As classmates we would all support each other and often studied together helping each other to
333understand difficult concepts. Now I am looking forward to moving into professional practice and to helping others through the wisdom of TСМ, а
334proven tradition over 2500 years old! I have seen firsthand the power of TCM, massage and acupuncture and herbalism and am eager to share what
335I have learned with those in need of help and am excited by the constant growth and personal fulfillment offered by TCM.`},2:{name:"Sebastien",text:`My name is Sebastien, and I went to Beijing, China, for 6 weeks of internship at the China-Japan friendship hospital in the spring of 2015. First of
336all, this whole experience was definitely very positive. I made a lot of friends, helping me to navigate the city after the initial tour by Dr. Du and
337Wangpei. And I'm still talking to many of them. There is a lot of pinyin and English in signs in Beijing, which helps a lot. It's fairly easy to get
338comfortable going around, using the subway system and the maps. Chinese are a pretty friendly bunch and will try to help when asked. The hospital
339doctors are very nice and open in general, make friends with them and help them. I could observe and had enough time to learn and asks many
340questions. They are happy to help, some will need more prompting than most, but all can and will try to help as they can. I've had many one-on-one
341discussions with them about Chinese medicine, their experiences with treating diseases, their learning processes, etc. While I did have a good
342translator for a while, I found it was better to talk directly with those who could speak good English. This trip was very valuable to get into
343relationships with many good practitioners of Chinese Medicine and invaluable in experiencing Chinese medicine in a different c
343ontext and a
344different way. I would definitely recommend it.`},3:{name:"Max Sielsky",text:`Dear Dr. Du, I would like to thank you for the wonderful learning experience I received at your College. I have to say all your instructors, including
345yourself, taught in a way that strengthened each and every person-Young or Older. All instructors brought with them a plethora of information from
346their own clinical skills and knowledge. Each and every instructor cares about his/her students. All their conduct brings harmony and peace which
347creates a wonderful learning atmosphere. This is very important since Acupuncture is not an easy profession to learn. Not only have I fulfilled all
348requirements for Acupuncture, but I have also learned even stronger how to be a better practitioner. Each and every instructor teaches in their own
349unique style. All of them have, including yourself, provided excellent power points, and excellent explanations, and taught the material in such a way
350to make it interesting and better understood-this facilitated strong application skills. You, your wife, Ling, and all your staff are warm, pleasant, and
351very excited to be of service to the students and other staff members. One of the things I was most impressed with is the organization and execution
352of the schedules of classroom instruction and clinical hours making everything work for each student and their subsequent year of learning. Every
353aspect of scheduling including classroom and clinic and institutional calendars was always sent out in a timely fashion which made arranging plane
354tickets and scheduling my time back in the States a breeze. I look forward to completing the fourth year of the Doctor of Traditional Chinese
355Medicine that your school offers. I think you and your wife Ling are two of the finest people I have ever met. Thank you for your dedication, love of
356TCM, knowledge, your wonderful gift of being able to grow your field, and the great experience that I have had while being at your school. I have
357learned so many new and exciting ways to help people which I am very excited about. Thank you to you and your wife, Ling for always going above
358and beyond in helping make sure each student is not only on track but successful... Thank y
358ou and Warm Regards....`},4:{name:"Nonglux MacDonald",text:`Since I firstwalked into the school to inquire about their programs I was impressed. I had an immediate sense that the school staff was genuinely
359interested in helping people. That they were motivated to turn out quality health professionals and not profits. Having spent three years of my life at
360this school my earliest thoughts have been reinforced on a near daily basis, Dr Du is an amassing Doctor and teacher, Dr Du and his wife Ling have
361a commitment to their craft and concern for their students that is simply amazing. They have been an inspiration to me. I can only dream of
362following in their large footsteps. All the Doctors have been nothing short of a mentors to me. I have learned so much from them in such a short
363time. Their strong instruction and the reassuring manner have allowed me to become so confident that I can be a good TCM practitioner that I
364scarcely recognize myself, Though it has been three years of intense study it has passed very quickly and I have had a lot of fun along the way. As the
365programs are taught in a clear step by step approach I have never once felt overwhelmed. For anyone looking to attend this school, I would give it
366the highest recommendation possible. The people here and the programs they teach have transformed my life in the most positive ways possible. You
367will not be disappointed.`}},videos:{title:"Student Experiences",description:"Watch our students and graduates share their experiences and success stories from their journey at CCTCMA."}}},page6046:{hero:{title:"Advisory Committee",subtitle:"Meet our distinguished advisory committee members who provide guidance and expertise to ensure the highest standards of acupuncture, massage and TCM"},members:{marcRaedschelders:{name:"Dr. Marc Raedschelders",title:"Advisory Committee Member",credentials:"Doctor of Acupuncture, RMT, Emeritus",description:"Dr. Marc Raedschelders is a highly respected senior faculty member at CCTCMA with extensive experience in Traditional Chinese Medicine education and practice. He brings European TCM training and extensive experience in Alberta regulatory requirements to his teaching role.",readMore:"Read More →",readLess:"Read Less ↑"},huiyinWang:{name:"Dr. Huiying Wang",title:"Advisory Committee Member",credentials:`MD (China), TCMD (China),
368President of Teaching Hospital of BUCM`,description:`Dr. Huiying Wang is a distinguished authority in the field of Traditional Chinese Medicine (TCM), whose career spans clinical practice, academic leadership, and medical education. Dr. Wang earned their MD and TCMD degrees from the prestigious Beijing University of Chinese Medicine (BUCM) in 1988, laying a strong foundation in both modern and traditional aspects of medical science.
369
370Over the course of several decades, Dr. Wang has served as the President of Beijing Acupuncture Hospital, the affiliated teaching hospital of BUCM. In this capacity, Dr. Wang has demonstrated exceptional leadership, guiding the institution to prominence as a center for excellence in acupuncture and TCM. Their stewardship has ensured the hospital remains at the forefront of integrative medicine, blending time-honored techniques with contemporary innovations.
371
372With extensive experience in clinical practice, Dr. Wang is renowned for her expertise in acupuncture and various TCM modalities, treating a wide range of conditions and earning the trust of countless patients. Their clinical acumen is complemented by a deep engagement in medical management, research, and professional organizations, where Dr. Wang continues to influence policy and set benchmarks for quality care and ethical practice.
373
374Throughout their illustrious career, Dr. Huiying Wang has been recognized for remarkable contributions to TCM practice, education, and hospital administration. Dr. Wang's work not only upholds the rich heritage of Chinese medicine but also inspires innovation and excellence for the future of the field.`,readMore:"Read More →",readLess:"Read Less ↑"},ronaldChui:{name:"Ronald Chui",title:"Advisory Committee Member",credentials:"CIM, FCSI",description:"As a Portfolio Manager with 20 years of experience in the financial services industry, Ronald specializes in creating strategy-driven financial and investment plans for his personal and institutional clients. He is the lead at Chui Advisory Group managing over $300M in asset under management. He is a Fellow of the Canadian Securities Institute and a Chartered Investment Manager.",readMore:"Read More →",readLess:"Read Less ↑",bio:`Ronald Chui, CIM, FCSI, is a Senior Investment Advisor & Portfolio Manager at Chui Advisory Group CIBC Private Wealth Wood Gundy. With over two decades of experience in the financial services industry, Ronald has established himself as a trusted advisor specializing in comprehensive wealth management strategies for high-net-worth individuals and families.
375
376His role as an Advisory Committee Member at CCTCMA brings valuable business acumen and strategic planning expertise to our institution. Ronald's background in financial services and investment management provides unique insights into organizational development, strategic planning, and business operations that complement our educational mission.
377
378Through his advisory role, Ronald contributes to CCTCMA's long-term strategic planning, helping ensure the institution's financial sustainability and growth while maintaining our commitment to excellence in Traditional Chinese Medicine education. His expertise in wealth management and financial planning adds a valuable business perspective to our advisory committee's diverse expertise.`}},actions:{addMember:"Add Advisory Member",deleteConfirm:"Are you sure you want to delete this advisory committee member?",newMember:"New Advisory Member",defaultTitle:"Advisory Committee Member",defaultCredentials:"DTCM, R.Ac.",defaultDescription:"Click to edit description"}},page6045:{title:"International Students",subtitle:"Welcome to Calgary College of Traditional Chinese Medicine and Acupuncture",dli:{title:"Designated Learning Institution (DLI)",number:"DLI#: O111917070547"},sections:{introduction:{title:"1. Introduction",content:`As per current Immigration, Refugees and Citizenship Canada (IRCC) guidelines, international students graduating from licensed programs at a private career college in Alberta are not eligible for a Post-Graduation Work Permit (PGWP).
379
380CCTCMA welcomes applications from all international students. There is no admission limitation on the basis of provincial residence or citizenship.
381
382The following programs are Designated Learning Programs and are eligible to re
382ceive foreign nationals on a study permit:
383
384• Acupuncture Diploma Program
385
386• 2200 Hour Massage Therapy Program`},admission:{title:"2. Admission",generalRequirements:{title:"General Admission Requirements",content:`CCTCMA accepts applications of Acupuncture Diploma Program and 2200 Hour Massage Therapy Program from students who meet all of the following criteria:
387
388• A sincere interest in TCM or acupuncture
389
390• At least eighteen (18) years old
391
392• Have completed high school education in Alberta or equivalent, with a 60% average or better in Grade 12 English, Grade 12 Math and Grade 12 Science
393
394• Out of high school for at least two years OR successful completion of one year of post-secondary education verified by transcript
395
396• For applicants whose first language is not English, proof of a successful result in either the TOFEL 560/220 OR IELTS 5.0 exams are required. See the English Language Proficiency Requirements for more details
397
398• A successful interview by the college`},massageRequirements:{title:"Admission Requirement for 2200 Hour Massage Diploma Program",standard:{title:"Standard Admission:",content:`Students must meet the following criteria:
399
400• Must be minimal 18 years of age
401
402• Alberta high school diploma, verified by official transcript, or non-Alberta equivalent
403
404• Successful interview with school administration, at the discretion of the school
405
406• Proficiency in speaking and written English, at the discretion of the school. See English Language Proficiency document for details`},mature:{title:"Mature Admission:",content:`• Must be minimal 19 years of age
407
408• Successful interview with school administration, at the discretion of the school
409
410• Post-secondary education or other educational experience may be considered for advanced credit at the discretion of the school
411
412• Proficiency in speaking and written English, at the discretion of the school. See the English Language Proficiency Requirements for more details`}}},procedure:{title:"3. Procedure",content:`The prospective international student submits the application package with a $500.00 application fee.
413
414Within 14 days, CCTCMA reviews the application package and informs the prospective student by email or phone if any documents are missing.
415
416Within one month, CCTCMA mails the Letter of Acceptance to the student and the student starts to apply for the Student Visa, medical insurance, as well as relevant travel documents.
417
418School starts on the first week of September each year.
419
420Note: The application fee is not refundable. CCTCMA recommends that prospective students apply for their Student Visa ASAP.`},credentialAssessment:{title:"4. Credential Assessment and Recognition Standard",content:"Applicants from other countries must first complete an education credential assessment and send a copy of the completed assessment along with a copy of there diploma and transcripts to [email protected]. The education credential assessment by either WES(World Education Services)or ICAS(International Credential Assessment Service)is acceptable."},academicPolicies:{title:"5. Academic Policies for International Students",evaluation:{title:"Academic Evaluation Policy",content:"Examinations are an essential tool used to evaluate the accomplishments of both instructors and students. Exams assess the level of a student's knowledge and understanding, while also assessing the effectiveness of an instructor's teaching methods. Written and practical exams are used to assess the knowledge of students in most courses at CCTCMA. The weights of written and practical exams will be set up based on each course's requirements. Attendance, participation in classroom discussions, and practicum performances will also be used as tools to evaluate a student's academic performance."},withdrawal:{title:"Withdrawal Policy",content:"All international students should act properly in accordance with college policies, standards, procedures, and regulations."},appeal:{title:"Academic Appeal Policy",content:`The basic principles for the Academic Appeal Policy at CCTCMA are as the follows:
421
422• Fairness will be applied to all parties
423
424• Academic decisions should be made as close as possible to the level of academic expertise
425
426• A final grade appeal is solely based on the academic merits of a student's work
427
428• A student must have one additional opportunity to review a final grade assignment after consulting with an instructor
429
430• In the spirit of co-operation, students are not permitted representation of legal counsel`}},supportServices:{title:"6. Support and Services for International Students",campusServices:{title:"International Student Services on Campus",content:`International Student Services (ISS) is the main source of support for international students and a gathering place for students with cross-cultural interests at CCTCMA. The ISS offers the following services:
431
432Reception and orientation – New international students are welcome to register with the ISS in August and September to receive important information about settling into their new environment such as culture adju
432stment and adaptation.
433
434The following services are some examples:
435
436• New international student orientations
437
438• Recommendation of accommodation and transportation in Calgary
439
440• Introduction to the Banking system in Canada for newcomers
441
442• Services available at the CCTCMA`,services:{advising:"International Student Advising Office – This is where you can find support for a wide range of issues, such as academic counseling, work while studying, immigration, employment, and adjusting to life in Canada.",counseling:"Cross-cultural counseling – Our cross-cultural counselor provides culturally sensitive counseling to CCTCMA students on personal issues. Feel free to discuss anything from family problems to depression to self-esteem.",events:"Social and cultural events – The ISS offers students a taste of Canadian and world cultures by hosting cultural and social activities, such as themed dinners, parties, field trips, and tours."}},communitySupport:{title:"Supports Available in the Community",content:`We are committed to offering the following services for international students from the CCTCMA:
443
444• From the administration team
445
446• From international student advisors at the CCTCMA
447
448• From the International Student Office at the CCTCMA
449
450There are also other supports available:
451
452• The City of Calgary
453
454• The Center of Newcomers
455
456• Local communities`},immigration:{title:"Immigration and Work While Studying",content:`International Student Services (ISS) provides information regarding immigration documents i.e. Study Permits, to international students to study at CCTCMA.
457
458Please note that ISS cannot provide advice to you, or act on your behalf, on such immigration matters. Our website provides links to <a href="https://www.canada.ca/en/immigration-refugees-citizenship.html" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">Citizenship and Immigration Canada</a> where complete information, application forms and instructions are available.
459
460International students seeking information on immigrating to Canada can check the <a href="https://www.canada.ca/en/immigration-refugees-citizenship.html" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">Citizenship and Immigration Canada website</a>.`}},healthSupport:{title:"7. Health Support for International Students",content:'All international students at the Calgary College of Traditional Chinese Medicine and Acupuncture (CCTCMA) are eligible for the <a href="https://www.alberta.ca/ahcip?utm_source=chatgpt.com" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">Alberta Health Care Insurance Program (AHCIP)</a> and we strongly encourage international students to purchase adequate coverage not covered by AHCIP. The college clinic of CCTCMA also offers all our students free acupuncture treatments up to 10 times per year by our interns under supervision.'},academicSupport:{title:"8. Academic Support for International Students",content:`CCTCMA is committed to maintaining high standards and encouraging your academic success. Academic standing applies to all programs at CCTCMA and relates to the student's eligibility to register in courses within Acupuncture Diploma Program at CCTCMA.
461
462If you are experiencing academic difficulty, you are encouraged to meet with your academic advisor as soon as possible. The sooner you get assistance, the easier it will be for you to get help.`},complaintProcess:{title:"9. Student Complaint and Dispute Resolution Process",content:"We recommend that the student always try to resolve issues informally. If a formal approach is necessary, CCTCMA provides a fair and reasonable procedure for resolution."}},quickLinks:{title:"Quick Links",admissionRequirements:"Admission Requirements",onlineApplication:"Online Application",tuitionFees:"Tuition & Fees",contactUs:"Contact Us"},advisors:{title:"International Student Advisors",drDu:{name:"Dr. Huanbin (Frank) Du",email:"Email: [email protected]",tel:"Tel: (+1) 403-287-8688"},msLuo:{name:"Ms. Lin Luo",email:"Email: [email protected]",tel:"Tel: (+1) 403-287-8688"}}
462,officeHours:{title:"Office Hours",schedule:"Monday to Friday",time:"9:00 AM - 5:00 PM",timezone:"Local Time (Mountain Time)"},cta:{title:"Ready to Start Your Journey?",subtitle:"Join our international community and begin your TCM education in Calgary.",applyNow:"Apply Now",contactUs:"Contact Us"}},courses:{titles:{"the-foundation-of-tcm":"The Foundation of TCM","chinese-acupuncture-1":"Chinese Acupuncture (1)","anatomy-and-physiology-1":"Anatomy and Physiology (1)","medical-terminology":"Medical Terminology","chinese-language-and-history-of-tcm":"Chinese Language and History of TCM","tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique":"TCM and Acupuncture Regulation, Ethics, Communication Skills, and Clean Needle Technique","diagnosis-of-tcm":"Diagnosis of TCM","chinese-acupuncture-2":"Chinese Acupuncture (2)","chinese-herbology":"Chinese Herbology","anatomy-and-physiology-2":"Anatomy and Physiology (2)","chinese-acupuncture-3":"Chinese Acupuncture (3)","chinese-herbal-formulas":"Chinese Herbal Formulas","massage-1":"Massage (1)","pathology-and-microbiology-1":"Pathology and Microbiology (1)","western-medical-diagnosis":"Western Medical Diagnosis","clinical-practicum-1":"Clinical Practicum (1)","chinese-acupuncture-4":"Chinese Acupuncture (4)","internal-medicine":"Internal Medicine","massage-2":"Massage (2)","dietary-therapy":"Dietary Therapy","pathology-and-microbiology-2":"Pathology and Microbiology (2)","western-pharmacology":"Western Pharmacology","clinical-practicum-2":"Clinical Practicum (2)","chinese-acupuncture-5":"Chinese Acupuncture (5)","tcm-sports-medicine":"TCM Sports Medicine","case-studies-1":"Case Studies (1)",pediatrics:"Pediatrics","tcm-classics-1":"TCM Classics (1)","clinical-practicum-3":"Clinical Practicum (3)","chinese-acupuncture-6":"Chinese Acupuncture (6)","tcm-external-dermatology":"TCM External Dermatology","tcm-gynecology":"TCM Gynecology","tcm-classic-2-jin-gui-yao-lue":"TCM Classic (2) - Jin Gui Yao Lue","introduction-to-business-management":"Introduction to Business Management","case-studies-2":"Case Studies (2)","safety-jurisprudence":"Safety Jurisprudence","clinical-practicum-4":"Clinical Practicum (4)","tcm-classics-huang-di-nei-jing-su-wen-and-wen-bing-xue":"TCM Classics - Huang Di Nei Jing Su Wen and Wen Bing Xue","tcm-psychology":"TCM Psychology","advanced-acupuncture-and-tcm":"Advanced Acupuncture and TCM","botanical-pharmacology":"Botanical Pharmacology","tcm-preventive-medicine":"TCM Preventive Medicine","western-internal-medicine":"Western Internal Medicine","clinical-practicum-5":"Clinical Practicum (5)","clinical-practicum-6":"Clinical Practicum (6)","mt-101-medical-terminology":"Medical Terminology","mt-102-anatomy-and-physiology":"Anatomy and Physiology","mt-201-musculoskeletal-anatomy":"Musculoskeletal Anatomy","mt-202-neuroanatomy":"Neuroanatomy","mt-104-massage-theory-and-practice-1":"Massage Theory and Practice 1","mt-105-ethics-and-communications":"Ethics and Communications","mt-107-business-skills":"Business Skills","mt-109-massage-theory-and-practice-2":"Massage Theory and Practice 2","mt-110-massage-clinical-practicum-1":"Massage Clinical Practicum 1","mt-106-pathology":"Pathology","mt-108-physical-diagnosis-case-history-taking-2":"Physical Diagnosis & Case History Taking 2","mt-203-massage-theory-and-practice-3-joint-mobilizations":"Massage Theory and Practice 3 - Joint Mobilizations","mt-204-massage-theory-and-practice-4-treatment-of-head-neck-and-back":"Massage Theory and Practice 4 - Treatment of Head, Neck and Back","mt-210-massage-clinical-practicum-2":"Massage Clinical Practicum 2","mt-205-orthopedic-physical-diagnosis-sport-injury":"Orthopedic Physical Diagnosis & Sport Injury","mt-206-introduction-to-internal-medicine-and-surgery":"Introduction to Internal Medicine and Surgery","mt-207-massage-theory-and-practice-5-treatment-of-upper-and-lower-extremities":"Massage Theory and Practice 5 - Treatment of Upper and Lower Extremities","mt-208-massage-theory-and-practice-6-sport-massage":"Massage Theory and Practice 6 - Sport Massage","mt-211-massage-clinical-practicum-3":"Massage Clinical Practicum 3"}}}},zh:{translation:{nav:{home:"首页",about:"关于我们",programs:"专业课程",admission:"招生信息",clinic:"校内诊所",exam:"全国考试",contact:"联系我们",applyNow:"立即申请",bookTreatment:"预约治疗","about.about":"关于我们","about.presidents-message":"院长寄语","about.our-faculty":"师资团队","about.advisory-committee":"顾问委员会","about.why-choose-cctcma":"为什么选择CCTCMA","about.faq":"常见问题","about.photo-gallery":"图片展示","about.hiring":"招聘信息","about.job-listing":"职位列表","about.college-news":"学院新闻","programs.massage":"2200小时按摩文凭","programs.acupuncture":"3年制针灸文凭","programs.tcm":"4年制中医文凭","admission.requirements":"入学要求","admission.apply":"在线申请","admission.tuition":"学费与费用","clinic.services":"诊所服务","clinic.book":"预约治疗","clinic.practitioners":"预约准备指南","exam.what-is-pan-canadian":"什么是全国考试","exam.cctcma-support":"CCTCMA的支持"},common:{loading:"加载中...",error:"发生错误",retry:"重试",success:"成功",close:"关闭",learnMore:"了解更多",readMore:"阅读更多",contactUs:"联系我们",getStarted:"开始",highlights:"课程亮点",placeholders:{firstName:"å¼ ",lastName:"三",email:"[email protected]",emailAddress:"请输入您的邮箱地址"},form:{sendUsMessage:"给我们发信息",firstNameLabel:"名",lastNameLabel:"姓",emailAddressLabel:"电子邮箱",sendMessageButton:"发送信息"},contact:{sectionLabel:"联系我们",phoneNumber:"1-(403)287-8688",emailAddress:"[email protected]",subtitle:"准备开始您的中医之旅了吗?立即联系我们!"},faculty:{title:"我们的师资",subtitle:"帮助您实现成为真正治疗师的梦想",title1:"我们优秀的师资团队",subtitle1:"我们将帮助您实现成为真正治疗师的梦想"},imageLoadError:"图片加载失败",search:{placeholder:"搜索CCTCMA",foundResults:'为"{{query}}"找到{{count}}个结果',noResultsFor:'未找到"{{query}}"的相关结果',findInformationAbout:"查找关于{{term}}的信息",openMainMenu:"打开主菜单"},courses:{notFoundBody:"无法加载课程描述。",tried:"尝试过:",backToPrograms:"返回课程",t
462itles:{"the-foundation-of-tcm":"中医基础理论","chinese-acupuncture-1":"中医针灸学 (1)","chinese-acupuncture-2":"中医针灸学 (2)","chinese-acupuncture-3":"中医针灸学 (3)","chinese-acupuncture-4":"中医针灸学 (4)","chinese-acupuncture-5":"中医针灸学 (5)","chinese-acupuncture-6":"中医针灸学 (6)","anatomy-and-physiology-1":"解剖生理学 (1)","anatomy-and-physiology-2":"解剖生理学 (2)","medical-terminology":"医学术语","chinese-language-and-history-of-tcm":"中文和中医史","tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique":"中医和针灸法规、伦理、沟通技巧和清洁针刺技术","diagnosis-of-tcm":"中医诊断学","chinese-herbology":"中药学","chinese-herbal-formulas":"中药方剂学","massage-1":"推拿 (1)","massage-2":"推拿 (2)","pathology-and-microbiology-1":"病理学和微生物学 (1)","pathology-and-microbiology-2":"病理学和微生物学 (2)","western-medical-diagnosis":"西医诊断学","clinical-practicum-1":"临床实习 (1)","clinical-practicum-2":"临床实习 (2)","clinical-practicum-3":"临床实习 (3)","clinical-practicum-4":"临床实习 (4)","clinical-practicum-5":"临床实习 (5)","clinical-practicum-6":"临床实习 (6)","internal-medicine":"内科学","dietary-therapy":"食疗学","western-pharmacology":"西医药理学","tcm-sports-medicine":"中医运动医学","case-studies-1":"病案讨论 (1)","case-studies-2":"病案讨论 (2)",pediatrics:"儿科学","tcm-classics-1":"中医经典 (1)","tcm-external-dermatology":"中医外科和皮肤科","tcm-gynecology":"中医妇科学","tcm-classic-2-jin-gui-yao-lue":"中医经典 (2) 金匮要略","introduction-to-business-management":"商业管理入门","safety-jurisprudence":"安全与法理学","tcm-classics-huang-di-nei-jing-su-wen-and-wen-bing-xue":"中医经典 – 黄帝内经、素问和温病学","tcm-psychology":"中医心理学","advanced-acupuncture-and-tcm":"高级针灸和中医","botanical-pharmacology":"植物药理学","tcm-preventive-medicine":"中医预防医学","western-internal-medicine":"西医内科学","mt-101-medical-terminology":"医学术语 (MT)","mt-102-anatomy-and-physiology":"解剖生理学","mt-201-musculoskeletal-anatomy":"肌肉骨骼解剖学","mt-202-neuroanatomy":"神经解剖学","mt-104-massage-theory-and-practice-1":"按摩理论与实践 1","mt-105-ethics-and-communications":"伦理学和沟通","mt-107-business-skills":"商业技能","mt-109-massage-theory-and-practice-2":"按摩理论与实践 2","mt-110-massage-clinical-practicum-1":"按摩临床实习 1","mt-106-pathology":"病理学","mt-108-physical-diagnosis-case-history-taking-2":"体格检查和病史采集","mt-203-massage-theory-and-practice-3-joint-mobilizations":"按摩理论与实践 3","mt-204-massage-theory-and-practice-4-treatment-of-head-neck-and-back":"按摩理论与实践 4","mt-210-massage-clinical-practicum-2":"按摩临床实习 2","mt-205-orthopedic-physical-diagnosis-sport-injury":"骨科体格检查和运动损伤","mt-206-introduction-to-internal-medicine-and-surgery":"内科学和外科学入门","mt-207-massage-theory-and-practice-5-treatment-of-upper-and-lower-extremities":"按摩理论与实践 5","mt-208-massage-theory-and-practice-6-sport-massage":"按摩理论与实践 6","mt-211-massage-clinical-practicum-3":"按摩临床实习 3"},"tcm-classics-1":{title:"中医经典 - 伤寒论",sections:{description:{heading:"课程描述",body:{0:"伤寒论是张仲景在三世纪撰写的。它是中医最重要的古代经典之一。张仲景是中医史上第一位倡导六经理论并将此理论应用于外感疾病分析和分类的中医师。本书中的许多方剂和辨证方法至今仍广泛应用于临床。本课程的主要目标是为学生提供这一经典的详细知识。"}},objectives:{heading:"课程目标",body:{0:"了解伤寒论的一些详细条文,尝试理解张仲景的思想,学习处方的方法。"}}},table:{courseId:"课程代码",courseName:"课程名称",time:"时间",hrsPerWeek:"每周小时",weeks:"周数",totalHours:"总小时数",credit:"学分"}},"medical-terminology":{title:"医学术语",sections:{description:{heading:"课程描述",body:{0:"这是一门互动课程,旨在为理解和正确使用医学术语提供基础。"}},objectives:{heading:"课程目标",body:{0:"理解并能够使用当前标准医学术语"}}},table:{courseId:"课程代码",courseName:"课程名称",time:"时间",hrsPerWeek:"每周小时",weeks:"周数",totalHours:"总小时数",credit:"学分"}}}}
462,brand:{name:"卡尔加里中医学院",subtitle:""},page16898:{international:{title:"国际学生",content:`我们欢迎来自世界各地的国际学生:
463
464• 学生签证申请支持
465• 住宿安排
466• 机场接送服务
467• 语言支持
468• 文化适应指导`,link:"了解更多"}},page:{home:{simple:{programs:{title:"专业课程",description:"提供全面的中医和针灸课程"},clinical:{title:"临床实践",description:"丰富的临床实习机会"},certification:{title:"资格认证",description:"帮助学生获得专业资格"}},hero:{welcome:"✨ 欢迎来到卡尔加里中医学院",navigation:{goToSlide:"转到幻灯片",previousSlide:"上一张幻灯片",nextSlide:"下一张幻灯片"},slide1:{title:"传统中医教育的卓越典范",subtitle:"二十多年来,卡尔加里中医学院一直是中医教育的领先机构,将古老智慧与现代教学方法相结合。",author:"杨立新博士,院长",cta:"了解更多关于我们"},slide2:{title:"2024-2025学年申请提交",subtitle:"加入我们的综合课程,开始您在传统中医和针灸领域的学习之旅。",cta:"预约治疗"},slide3:{title:"祝贺我们的毕业生!",subtitle:"庆祝又一个成功的毕业年,培养了更多传统中医领域的专业从业者。",cta:"查看课程"}},about:{sectionLabel:"关于我们",title:"传统中医教育的卓越典范",description:"二十多年来,卡尔加里中医学院一直是中医教育的领先机构,将古老智慧与现代教学方法相结合。",cta:"了解更多关于我们",carousel:{image1Alt:"CCTCMA诊所设施",image2Alt:"传统中医按摩治疗",image3Alt:"传统中医草药"}},stats:{years:{number:"20+",label:"年卓越历程"},graduates:{number:"500+",label:"毕业生"}},programs:{sectionLabel:"我们的课程",title:"专业中医课程",subtitle:"发现我们的综合课程,为您在传统中医领域的成功职业生涯做好准备",massage:{title:"2200小时按摩文凭",description:"我们的按摩文凭课程将为您提供成为成功按摩治疗师所需的所有技能。立即了解更多我们的按摩治疗项目!",linkText:"了解更多 →"},acupuncture:{title:"针灸文凭",description:"在我们的3年针灸文凭课程中,将基础知识与实践学习相结合!今天就发现更多关于我们针灸课程的信息",linkText:"了解更多 →"},tcm:{title:"中医文凭",description:"我们的4年中医文凭课程为您提供在中医领域发展所需的工具。立即了解更多我们的中医文凭!",linkText:"了解更多 →"},program1:{title:"2200小时按摩文凭",description:"我们的按摩文凭课程将为您提供成为成功按摩治疗师所需的所有技能。立即了解更多我们的按摩治疗项目!",linkText:"了解更多 →"},program2:{title:"针灸文凭",description:"在我们的3年针灸文凭课程中,将基础知识与实践学习相结合!今天就发现更多关于我们针灸课程的信息",linkText:"了解更多 →"},program3:{title:"中医文凭",description:"我们的4年中医文凭课程为您提供在中医领域发展所需的工具。立即了解更多我们的中医文凭!",linkText:"了解更多 →"}},mission:{sectionLabel:"我们的使命",title:"通过教育培养治疗师",content:"在卡尔加里中医学院,我们致力于通过全面的教育、实践培训和对卓越的坚定承诺来保护和发展传统中医的古老艺术。",learnMore:"了解更多关于我们",viewPrograms:"查看课程",imageAlt:"我们的使命"},whyChoose:{title:"为什么选择CCTCMA",subtitle:"发现是什么让卡尔加里中医学院成为传统中医教育的首选",feature1:{title:"实践学习",description:"在我们最先进的诊所设施中ä
468½“验与真实患者的实践培训。"},feature2:{title:"经验丰富的导师",description:"向经验丰富的从业者和教育者学习,他们是传统中医领域的领导者。"},feature3:{title:"国际经验",description:"通过我们与中国和其他国家机构的合作伙伴关系获得宝贵的国际视野。"}},cta:{title:"准备开始您的传统中医之旅了吗?",applyText:"立即申请",programsText:"查看课程"},faculty:{title:"认识我们的专家团队",subtitle:"向致力于您成功的经验丰富的从业者和教育者学习",sectionLabel:"专业且支持"},testimonials:{title:"学生评价"},contact:{sectionLabel:"联系我们",title:"今天就联系我们",subtitle:"准备开始您的传统中医之旅了吗?今天就联系我们,了解更多关于我们的课程。",form:{title:"给我们发信息",firstName:"名",lastName:"姓",email:"电子邮箱",phoneLabel:"电话号码",phonePlaceholder:"请输入您的电话号码",messageLabel:"留言",messagePlaceholder:"请告诉我们如何为您提供帮助...",submit:"发送信息"},findUs:{title:"找到我们",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7",phone:"1-(403)287-8688",email:"[email protected]"},externalLinks:{title:"有用链接"},links:{aaatcmd:"阿尔伯塔省针灸师和中医师协会",caa:"阿尔伯塔省针灸师管理局",studentAid:"阿尔伯塔省学生援助",nhpc:"加拿大自然健康从业者",internship:"针灸实习项目",maple:"Maple针灸按摩"}}},page:{advisory:{hero:{title:"Advisory Committee",subtitle:"Meet our distinguished advisory committee members who provide guidance and expertise to CCTCMA"},members:{0:{name:"Dr. Marc Raedschelders",title:"Advisory Committee Member",credentials:"Doctor of Acupuncture, RMT, Emeritus",description:"Dr. Marc Raedschelders is a highly respected senior faculty member at CCTCMA with extensive experience in Traditional Chinese Medicine education and practice. He brings European TCM training and extensive experience in Alberta regulatory requirements to his teaching role."},1:{name:"Dr. Huiying Wang",title:"Advisory Committee Member",credentials:`MD (China), TCMD (China)
469President of Teaching Hospital of BUCM`,description:"Dr. Huiying Wang is a distinguished authority in the field of Traditional Chinese Medicine (TCM), whose career spans clinical practice, academic leadership, and medical education. Dr. Wang earned their MD and TCMD degrees from the prestigious Beijing University of Chinese Medicine (BUCM) in 1988, laying a strong foundation in both modern and traditional aspects of medical science."},2:{name:"Ronald Chui",title:"Advisory Committee Member",credentials:"CIM, FCSI",description:"As a Portfolio Manager with 20 years of experience in the financial services industry, Ronald specializes in creating strategy-driven financial and investment plans for his personal and institutional clients. He is the lead at Chui Advisory Group managing over $300M in asset under management. He is a Fellow of the Canadian Securities Institute and a Chartered Investment Manager."}},drWang:{modal:{name:"Dr. Huiying Wang",title:"Advisory Committee Member",hospital:"President of Teaching Hospital of BUCM",bio:`Dr. Huiying Wang is a distinguished authority in the field of Traditional Chinese Medicine (TCM), whose career spans clinical practice, academic leadership, and medical education. Dr. Wang earned their MD and TCMD degrees from the prestigious Beijing University of Chinese Medicine (BUCM) in 1988, laying a strong foundation in both modern and traditional aspects of medical science.
470
471Over the course of several decades, Dr. Wang has served as the President of Beijing Acupuncture Hospital, the affiliated teaching hospital of BUCM. In this capacity, Dr. Wang has demonstrated exceptional leadership, guiding the institution to prominence as a center for excellence in acupuncture and TCM. Their stewardship has ensured the hospital remains at the forefront of integrative medicine, blending time-honored techniques with contemporary innovations.
472
473With extensive experience in clinical practice, Dr. Wang is renowned for her expertise in acupuncture and various TCM modalities, treating a wide range of conditions and earning the trust of countless patients. Their clinical acumen is complemented by a deep engagement in medical management, research, and professional organizations, where Dr. Wang continues to influence policy and set benchmarks for quality care and ethical practice.
474
475Throughout their illustrious career, Dr. Huiying Wang has been recognized for remarkable contributions to TCM practice, education, and hospital administration. Dr. Wang's work not only upholds the rich heritage of Chinese medicine but also inspires innovation and excellence for the future of the field.`}}},home:{faculty:{sectionLabel:"专业且支持",title:"我们优秀的师资团队",subtitle:"我们将帮助您实现成为真正治疗师的梦想"},mission:{viewPrograms:"查看课程"},cta:{title:"准备开始您的传统中医之旅了吗?",applyText:"立即申请",programsText:"查看课程"}},about:{hero:{title:"关于我们",subtitle:"了解卡尔加里中医针灸学院的历史、使命和价值观"},navigation:{title:"快速导航",overview:"CCTCMA概述",presidentsMessage:"校长致辞",ourFaculty:"我们的师资",whyChooseCctcma:"为什么选择CCTCMA",faq:"常见问题",photoGallery:"照片库",hiring:"招聘",jobListing:"职位列表",collegeNews:"学院新闻"},college:{title:"关于学院",content:`卡尔加里中医针灸学院(CCTCMA)成立于2003年,是一所在阿尔伯塔省高等教育部、阿尔伯塔省针灸师管理局、加拿大自然健康从业者协会(NHPC)和加拿大按摩及手法骨疗师协会(CMMOTA)注册的综合性教育机构。学院将教学、医疗、科研和传统中医文化推广完美融合。
476
477学院目前开设三个专业:针灸文凭课程、2200小时按摩文凭课程和中医文凭课程,均采用英语授课。学生有机会申请阿尔伯塔省政府和加拿大联邦政府的奖学金和助学金。此外,学院获得加拿大联邦政府批准,成为国际学生指定学习机构(DLI: O111917070547)。我们尊敬的师资团队包括来自世界各地的中医教授、副教授、讲师和博士学位持有者,他们以其专业知识而备受推崇。他们以热情、专业和真诚的承诺致力于教学,帮助每一位学生在技能上取得卓越成就。
478
479学院坐落在卡尔加里,这座被誉为世界上最富有、最安全、最宜居的城市之一。我们的学院享有得天独厚的优美环境,空气清新,背靠壮丽的永恒雪山,包括雄伟的落基山脉和著名的班夫国家公园。卡尔加里以其友好的氛围而闻名,始终位列全球十大最宜居城市之列。
480
481在二十年的教育卓越历程中,卡尔加里中医针灸学院秉承中医针灸"传承与创新"的核心理念。学院深深扎根于中华文化传统和中医药文化,始终强调教育这一根本使命。多年来,学院培养了众多专业人才,包括中医按摩师、针灸师和高级中医从业者,为中医在卡尔加里和北美的发展做出了重要贡献,赢得了良好声誉。`},mission:{title:"我们的使命",content:"我们的使命是为学生提供高质量、正宗的针灸和传统中医教育。我们努力保持与中国针灸和中医课程相当的教育标准。"},programs:{title:"课程设置",content:"CCTCMA提供的课程为学生提供正宗的中医和针灸教育,旨在为学生准备世界各地的中医和针灸执业考试。"},goal:{title:"我们的目标",content:"我们的目标是向学生传授中医和针灸的知识和技能,确保他们将来能够在世界任何地方成功执业。我们的师资团队受过高等教育,拥有针灸和中医的硕士和博士学位,他们有数十年的实践经验可以与CCTCMA的学生分享。"},faculty:{seeAllFaculty:"查看所有师资成员",viewAllButton:"查看所有师资成员",drFrankDu:{name:"杜文华博士",title:"校长兼教师"},drLuyangLiu:{name:"刘路扬(Martin)博士",title:"院长兼教师成员"}},accreditation:{title:"认证资质",acupuncture:{title:"针灸文凭"},massage:{title:"2200小时按摩文凭"}},cta:{title:"准备开始您的中医之旅了吗?",description:"立即申请我们的课程,开始您的传统中医之旅。",applyNow1:"立即申请",contactUs1:"联系我们",applyButton:"立即申请",contactButton:"联系我们"}}},programs:{hero:{mainTitle:"我们的课程现正招生",subtitle:"通过我们正宗且专业策划的文凭课程,迈出您在中医和针灸激动人心的职业生涯的第一步!"}},admission:{apply:{programSelection:{title:"专业选择",label:"我申请 *",acupuncture:"三年制针灸文凭课程",massage:"2200小时按摩文凭课程",tcm:"四年制中医文凭课程"}},fees:{programs:{acupuncture:{name:"针灸专业",duration:"3年",canadianTuition:"每年$9,900",canadianTotal:"$29,700",internationalTuition:"每年$11,500",internationalTotal:"$34,500",description:"专业针灸课程,毕业后可在阿尔伯塔省注册为R.Ac.针灸师。",includes:["中医理论","针灸技术","中医诊断","临床训练","西医基础科学"]},massage:{name:"2200小时按摩治疗专业",duration:"2年",canadianTuition:"每年$9,900",canadianTotal:"$19,800",internationalTuition:"每年$11,500",internationalTotal:"$23,000",description:"全面的按摩治疗培训课程,为学生准备RMT注册。",includes:["解剖学与生理学","按摩技术","病理学","临床实践","商业技能"]},dtcm:{name:"DTCM专业",duration:"4年",canadianTuition:"每年$9,900",canadianTotal:"$39,600",internationalTuition:"不适用",internationalTotal:"不适用",description:"高级中医专业,包含全面的临床培训。",includes:["高级中医理论","针灸与艾灸","中药学","中医内科学","临床实习","研究方法"]}},additionalFees:[{item:"申请费",amount:"$150",note:"不可退还"},{item:"注册费",amount:"$500",note:"每学年"},{item:"实验室费",amount:"$300",note:"每学年"},{item:"临床费",amount:"$400",note:"每临床年"},{item:"毕业费",amount:"$200",note:"仅最后一年"},{item:"学生会费",amount:"$50",note:"每学年"}],paymentOptions:{fullPayment:{title:"全额付款",description:"课程开始前支付全部学费",benefit:"总学费5%折扣",icon:"💰"},semesterPayment:{title:"学期付款",description:"每学期开始前分期付款",benefit:"无额外费用",icon:"📅"},monthlyPayment:{title:"月付计划",description:"在整个课程期间分摊付款",benefit:"灵活预算",icon:"📊"}},importantInfo:{title:"重要信息",tuitionPolicy:{title:"学费政策",items:["入学后学费不会上涨","学费收取和退费政策参照阿尔伯塔省标准学生注册合同","退费只能退还给最初支付学费的实体/地点"]},partTimeOptions:{title:"兼读制选择",items:["兼读制学生按学分付费,每学分450加元","兼读制课程不适用于国际学生"]}},additionalCosts:{title:"额外费用",description:"学习指南和教学材料:所有课程每年费用约为1000加元。学习指南需要从学校购买。中医和针灸的其他参考资料可由学生自费从其他来源购买。"},financialAid:{title:"经济援助和学生贷款",description:"我们理解教育资金可能是一个重要问题。CCTCMA致力于帮助您探索所有可用选项,使您的教育负担得起。",availableSupport:{title:"可用支持:",items:["联邦学生贷款项目","省级学生贷款项目","付款计划和咨询","财务援助咨询"]},nextSteps:{title:"下一步:",items:["联系我们的行政办公室","讨论您的学生贷款状况","申请可用项目","制定财务计划"]}}}},clinic:{prepare:{hero:{title:"预约治疗准备指南",subtitle:"重要信息,确保您做好充分准备,从中医治疗中获得最佳效果"},intro:{text:`针灸和其他中医治疗是安全有效的健康管理方式。
482
483在卡尔加里中医学院,我们希望确保您为就诊做好准备。以下是一些建议,确保您获得最佳体验。`}}},contact:{form:{messages:{successDetail:"您的留言已成功提交!我们会尽快回复您。",messageId:"您的留言ID",failedToSend:"å
483‘送留言失败",unknownError:"未知错误",tryAgain:"发送留言失败,请重试。",generalInquiry:"一般咨询"}}},about:{navigation:{overview:"CCTCMA概览",presidentsMessage:"院长寄语",ourFaculty:"师资团队",whyChooseCctcma:"为什么选择CCTCMA",faq:"常见问题",photoGallery:"图片展示",hiring:"招聘信息",jobListing:"职位列表",collegeNews:"学院新闻"},faq:{q1:{question:"选择CCTCMA针灸课程相比加拿大其他学校有什么优势?",answer:["我们的师资力量非常雄厚。大多数教师都拥有针灸和中医学硕士或博士学位,在加拿大和中国拥有至少15年的针灸和中医工作和教学经验。","我们的课程是基于在澳大利亚、加拿大、美国和中国的针灸和中医教学经验开发的。这些课程在北美已成功运行二十多年,在中国运行约五十年。","小班教学。","可申请学生贷款。","我们很高兴为几乎每个科目提供我们自己独特设计的学习指南。这帮助我们的学生轻松学习中医和针灸。",'我们的学生诊所非常繁忙,因此我们的学生有很多针灸"实践"机会。',"全日制学习,周一至周五上午9点至下午5点。您将获得您所支付的培训。","我们致力于在加拿大提供最高水准的中医和针灸教育和培训。","我们位于卡尔加里的中心地区。这使得往返学院的交通更加便利,包括公共交通。"]}},whyChoose:{accreditations:[{program:"针灸文凭",details:["获得阿尔伯塔省针灸师管理局批准。阿尔伯塔省针灸师管理局有权批准针灸教育课程。从这些课程获得文凭的个人满足针灸师专业法规第3(a)(1)和3(b)(1)条的要求。","阿尔伯塔省高等教育(阿尔伯塔学习):针灸文凭课程符合阿尔伯塔学生资助的全日制高等教育援助条件。","卡尔加里中医针灸学院的指定学习机构编号(DLI#)是O111917070547。指定学习机构是经省或地区政府批准招收国际学生的学校。","被中国北京中医药大学认可。"]},{program:"2200小时按摩文凭",details:["获得NHPC(加拿大自然健康从业者)批准和认可","卡尔加里中医针灸学院的指定学习机构编号(DLI#)是O111917070547。指定学习机构是经省或地区政府批准招收国际学生的学校。","阿尔伯塔省高等教育:我们的按摩文凭课程符合阿尔伯塔学生资助的全日制高等教育援助条件。"]}]}}},footer:{company:{name:"卡尔加里中医针灸学院",subtitle:""},quickLinks:{title:"快速链接"},programs:{title:"我们的课程"},admission:{title:"招生信息"},clinic:{title:"学生诊所"},professionalOrgs:{title:"专业组织"},businessHours:{title:"营业时间",day:"日期",schoolHours:"学院时间",clinicHours:"诊所时间",monday:"周一:",tuesday:"周二:",wednesday:"周三:",thursday:"周四:",friday:"周五:",saturday:"周六:",sunday:"周日:",weekdaySchool:"上午9:00 - 下午5:00",mondayClinic:"上午9:30 - 下午5:30",tuesdayClinic:"上午9:30 - 下午5:30",wednesdayClinic:"上午9:30 - 下午5:30",thursdayClinic:"上午9:30 - 下午5:30",fridayClinic:"上午9:30 - 下午5:30",saturdayHours:"休息",sundayHours:"休息"},connect:{title:"联系我们",stayUpdated:"获取最新消息",emailPlaceholder:"请输入您的邮箱"},copyright:"© 2025-2026 卡尔加里中医针灸学院。保留所有权利。",legal:{privacy:"隐私政策",terms:"服务条款",accessibility:"无障碍访问"}},privacy:{title:"隐私政策",description:"了解卡尔加里中医针灸学院如何收集、使用和保护您的个人信息。",lastUpdated:"最后更新",updateDate:"2025å¹´10月7日",intro:{title:"CCTCMA隐私政策",content:'本隐私政策描述了当您访问或从www.cctcma.com("网站")购买时,您的个人信息如何被收集、使用和共享。'},collection:{title:"我们收集的个人信息",intro:'当您访问本网站时,我们会自动收集有关您设备的某些信息,包括有关您的网络浏览器、IP地址、时区以及安装在您设备上的某些cookie的信息。此外,当您浏览网站时,我们会收集有关您查看的各个网页或产品、将您引荐到网站的网站或搜索词以及您如何与网站互动的信息。我们将这些自动收集的信息称为"设å
483¤‡ä¿¡æ¯"。',technologies:"我们使用以下技术收集设备信息:",cookies:{title:"Cookies(小型文本文件)",item1:'"Cookies"是放置在您的设备或计算机上的数据文件,通常包含匿名唯一标识符。有关cookies以及如何禁用cookies的更多信息,请访问http://www.aboutcookies.org。',item2:"有关cookies以及如何禁用cookies的更多信息,请访问"},logFiles:{title:"日志文件",content:'"日志文件"跟踪网站上发生的操作,并收集包括您的IP地址、浏览器类型、互联网服务提供商、引荐/退出页面和日期/时间戳在内的数据。'},webBeacons:{title:"网络信标、标签和像素",content:'"网络信标"、"标签"和"像素"是用于记录您如何浏览网站的电子文件。'}},usage:{title:"我们如何使用您的信息",item1:"处理和回应您的咨询和申请提交",item2:"与您沟通有关我们的课程、服务和活动",item3:"改进和优化我们的网站和服务",item4:"筛查潜在风险和欺诈",item5:"遵守适用的法律法规"},security:{title:"数据安全",content:"我们实施适当的技术和组织措施来保护您的个人信息免受未经授权的访问、更改、披露或破坏。但是,没有任何通过互联网传输或电子存储的方法是100%安全的。"},thirdParty:{title:"第三方服务",content:"我们可能会与帮助我们运营网站、开展业务或为您提供服务的第三方服务提供商共享您的个人信息。这些第三方有义务对您的信息保密和安全。"},rights:{title:"您的权利",item1:"访问我们持有的关于您的个人信息",item2:"要求更正不准确或不完整的信息",item3:"要求删除您的个人信息",item4:"反对或限制处理您的个人信息"},children:{title:"儿童隐私",content:"我们的网站不适用于18岁以下的个人。我们不会故意收集18岁以下儿童的个人信息。如果您是家长或监护人,并且认为您的孩子向我们提供了个人信息,请与我们联系。"},changes:{title:"本隐私政策的变更",content:"我们可能会不时更新本隐私政策,以反映我们实践的变化或出于其他运营、法律或监管原因。我们将通过在此页面上发布新的隐私政策来通知您任何重大变更。"},contact:{title:"联系我们",content:"如果您对本隐私政策或我们的隐私实践有任何疑问,请通过以下方式联系我们:",organization:"机构",address:"地址",phone:"电话",email:"电子邮件"}},testimonials:{cindyLi:{name:"Cindy Li",quote:"选择就读CCTCMA是我做过的最好决定之一。老师们非常敬业,学生们学习热情很高。我很珍惜学院管理层的'开放'态度,以及学院提供的家庭般的氛围。我强烈推荐这所学院给任何对中医和针灸职业感兴趣的人!"},kristinHintz:{name:"Kristin Hintz",quote:"CCTCMA的中医博士课程超出了我的期望!课程内容广泛且极具挑战性,但给人极大的成就感。医生/教师们都很棒,总是随时帮助学生理解所教授的材料。我会向任何热爱中医和针灸的人推荐CCTCMA。"},christinaBurns:{name:"Christina Burns",quote:"卡尔加里中医针灸学院的中医博士课程非常棒。老师们讲解透彻,表达清晰。他们拥有丰富的背景知识,大多数都在中国和国外有丰富的经验。课程在卡尔加里是无与伦比的,教育质量也远超我调研过的其他学校。"},nicoleMitchelson:{name:"Nicole Mitchelson",quote:"现在完成我的第二年学业,卡尔加里中医针灸学院不仅有完善的课程结构、新设施、最合格的教职员工和在中国的实习机会...而且很有趣。小班制让我能直接接触老师,与同学们有良好的学习环境。"},jenniferBarrow:{name:"Jennifer Barrow",quote:"CCTCMA的中医课程非常有意义!虽然具有挑战性且需要努力学习...但回报不断...第一年后,我的知识大大增加,我持续被激发去学习、成长和练习每天学到的技能。我向任何对整体专业学术课程感兴趣的人推荐这个课程。"},ranQian:{name:"Ran Qian",quote:"我想说我为成为中医保健课程的一部分而感到自豪。在我看来,中医在保健领域拥有最先进的理论,在中国已经被证明了数千年。中医将在西方世界再次证明自己,我们就在
483这里让它实现。我要感谢杜医生为我们提供了这个绝佳的机会。我将完成这个课程,成为未来真正产生影响的见证人。"}},seo:{defaultDescription:"卡尔加里中医针灸学院提供全面的中医教育课程,包括按摩治疗、针灸和中医博士文凭。在卡尔加里体验正宗的中医教育。",keywords:"中医,针灸,按摩治疗,卡尔加里,中医学院,针灸学校,中医教育,替代医学,整体健康"},home:{hero:{slide1:{title:"欢迎来到卡尔加里中医针灸学院",subtitle:"千里之行,始于足下",author:"老子",cta:"了解更多"},slide2:{title:"免费针灸体验",subtitle:"体验传统中医的魅力",cta:"立即预约"},slide3:{title:"2026学年招生",subtitle:"开启你的中医之旅",cta:"查看课程"}},mission:{title:"我们的使命",content:"我们的使命是为学生提供高质量的针灸和中医教育。通过我们精心设计的课程,学生将获得与中国针灸和中医课程相当的真实的教育体验。"},whyChoose:{title:"为什么选择卡尔加里中医针灸学院?",feature1:{title:"实践教学",description:"临床实践和动手学习是我们所有课程的重要组成部分。"},feature2:{title:"经验丰富的教师",description:"我们的教师拥有数十年的教学经验,在加拿大和国际上都有丰富的经验。"},feature3:{title:"国际经验",description:"我们的教职员工来自世界各地,都是经过严格培训的专业人士。"}},programs:{title:"我们的课程",massage:{title:"2200小时按摩文凭",description:"我们的按摩文凭课程将为您提供成为成功按摩治疗师所需的所有技能。立即了解更多我们的按摩治疗项目!",linkText:"了解更多 ->"},acupuncture:{title:"3年针灸文凭",description:"在我们的3年针灸文凭课程中,将基础知识与实践学习相结合!今天就发现更多关于我们针灸课程的信息",linkText:"了解更多 ->"},tcm:{title:"4年中医博士文凭",description:"我们的4年中医博士文凭课程为您提供在中医领域发展所需的工具。立即了解更多我们的中医博士文凭!",linkText:"了解更多 ->"}},contact:{title:"联系我们",form:{name:"您的姓名",email:"您的邮箱",message:"您的留言",submit:"提交"},findUs:{title:"找到我们",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7"},externalLinks:{title:"外部链接"},links:{aaatcmd:"阿尔伯塔省针灸师和中医师协会",caa:"阿尔伯塔省针灸师管理局",studentAid:"阿尔伯塔省学生援助",nhpc:"加拿大自然健康从业者",internship:"学生实习项目",maple:"Maple针灸和按摩"}},cta:{title:"准备开始你的中医之旅?",description:"立即申请我们的课程,或预约体验我们的针灸服务。",applyButton:"立即申请",bookButton:"预约治疗",applyText:"立即申请",programsText:"查看课程"},testimonials:{title:"学生评价"},contact1:{title:"访问我们的校园",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7",phone:"1-(403)287-8688",email:"[email protected]",mapTitle:"在谷歌地图上找到我们",findUs:{title:"访问我们的校园",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7"},externalLinks:{title:"专业组织"},links:{aaatcmd:"阿尔伯塔省针灸师和中医师协会",caa:"阿尔伯塔省针灸师管理局",studentAid:"阿尔伯塔省学生资助",nhpc:"加拿大自然健康从业者",internship:"学生实习项目",maple:"Maple针灸和按摩"}}},about:{hero:{title:"关于我们",subtitle:"了解卡尔加里中医针灸学院的历史、使命和价值观"},navigation:{title:"快速导航"},overview:{title:"学院概况",content:"卡尔加里中医针灸学院成立于2003年,是加拿大阿尔伯塔省最大的中医学院之一。我们致力于为学生提供高质量的针灸和中医教育,培养具有专业素养和临床实践能力的中医人才。学院拥有现代化的教学设施和临床实践基地,为学生提供全面的学习环境。"},president:{title:"院长寄语",content:`亲爱的同学们:
484
485欢迎来到卡尔加里中医针灸学院!作为院长,我深感荣幸能够见证每一位学生的成长。在这里,你将接å
485—最专业的中医教育,获得丰富的临床实践经验。我们的教师团队由经验丰富的中医专家组成,他们将倾囊相授,帮助你掌握中医的精髓。
486
487中医是一门博大精深的学问,需要不断学习和实践。我相信,通过我们的共同努力,你一定能够成为一名优秀的中医从业者,为人类的健康事业做出贡献。
488
489祝你在卡尔加里中医针灸学院度过充实而愉快的学习时光!
490
491院长:Dr. Frank Du`},faculty:{sectionLabel:"优秀师资团队",title:"师资团队",subtitle:"我们将帮助您实现成为真正治疗师的梦想",content:"我们的教师团队由来自中国和加拿大的资深中医专家组成,他们拥有丰富的教学和临床经验。每位教师都致力于为学生提供最优质的教育,帮助他们在中医领域取得成功。"},whyChoose:{title:"为什么选择我们",content:`1. 优质的教育资源:现代化的教学设施和丰富的学习资源
4922. 专业的教师团队:经验丰富的中医专家亲自授课
4933. 丰富的临床实践:充足的临床实习机会
4944. 完善的就业支持:帮助学生顺利就业
4955. 国际化的学习环境:来自世界各地的学生共同学习`},college:{title:"关于学院",content:`成立于2003年,卡尔加里中医针灸学院(CCTCMA)是一所综合性教育机构,在阿尔伯塔省高等教育部、阿尔伯塔省针灸师管理局、加拿大自然健康从业者(NHPC)和加拿大按摩和手法骨科治疗师协会(CMMOTA)注册。学院完美地融合了教学、医疗、研究和中医文化推广。
496
497学院目前提供三个专业:针灸文凭课程、2200小时按摩文凭课程和中医文凭课程,均以英语授课。学生有机会申请阿尔伯塔省政府和加拿大联邦政府的奖学金和资助。此外,学院获得加拿大联邦政府的指定学习机构(DLI: O111917070547)资格,可接收国际学生。我们尊敬的教师团队包括来自世界各地的教授、副教授、讲师和中医博士,他们在专业领域备受尊敬。他们以热情、专业和真诚的承诺致力于教学,帮助每个学生在技能上取得卓越成绩。
498
499学院位于卡尔加里,这里被认为是世界上最富有、最安全、最宜居的城市之一。我们的学院享有优美的环境优势,空气清新,被令人叹为观止的永恒雪山所环抱,包括雄伟的落基山脉和著名的班夫国家公园。卡尔加里以其友好的氛围而闻名,一直保持在全球十大最宜居城市之列。`},goals:{title:"我们的目标",content:"我们的目标是向学生传授中医和针灸的知识和技能,确保他们在未来能够在世界任何地方成功地进行实践。我们的教师团队受过高等教育,拥有针灸和中医的硕士和博士学位,他们有数十年的实践经验可以与CCTCMA学生分享。"},programs:{title:"课程设置",content:"CCTCMA提供的课程为学生提供了正宗的中医和针灸教育,旨在为学生参加世界各地的中医和针灸执业考试做准备。"},whyChoose1:{title:"为什么选择CCTCMA",reasons:{experiencedInstructors:{title:"经验丰富的教师",description:"我们的教师在加拿大和国际上都有数十年的教学经验。"},handsOnLearning:{title:"实践教学",description:"临床实践和动手学习是我们所有课程的重要组成部分。"},internationalExperience:{title:"国际化经验",description:"我们的教职员工来自世界各地,都是经过严格培训的专业人士。"}}},accreditation:{title:"认证情况",acupuncture:{title:"针灸文凭",items:["经阿尔伯塔省针灸师管理局批准。阿尔伯塔省针灸师管理局有权批准针灸教育课程。获得这些课程文凭的个人满足针灸师专业条例第3(a)(1)条和第3(b)(1)条的要求。","阿尔伯塔省高等教育部(阿尔伯塔学习):针灸文凭课程符合阿尔伯塔省学生资助的全日制高等教育资助条件。","卡尔加里中医针灸学院的指定学习机构编号(DLI#)为O111917070547。指定学习机构是经省或地方政府批准接收国际学生的学校。","被中国北京中医药大学接受。"]},massage:{title:"2200小时按摩文凭",items:["经加拿大自然健康从业者(NHPC)批准和认可","卡尔加里中医针灸学院的指定学习机构编号(DLI#)为O111917070547。指定学习机构是经省或地方政府批准接收国际学生的学校。","阿尔伯塔省高等教育部:我们的按摩文凭课程符合阿尔伯塔省学生资助的全日制高等教育资助条件。"]}},testimonials:{kunLi:{name:"Kun Li",text:"我是Kun Li。我在卡尔加里中医针灸学院学习了3年。在我第二年学习时,我开始在指导下进行临床实践。当患者说他们在我的治疗后感觉好多了时,我不能相信。我认为我的患者只是对我太礼貌了,直到患者把他们的母亲和朋友带给我。我既高兴又有压力。我在实习中治疗了很多患者,也从他们身上学到了很多。
499当我的治疗不起作用时,我会不断挖掘,我享受这个过程。这就是中医给我带来的生活。我真的很喜欢。我很后悔为什么没有早点学习中医,否则,也许我是著名的中医博士之一,哈哈……"},yingLi:{name:"Ying Li",text:"我在卡尔加里中医学院的时光充满了挑战和持续的成长。课程内容深入且要求严格,但教学人员知识渊博、平易近人且支持性强。杜医生和其他工作人员总是努力激发我们学生的最佳状态,帮助我们实现目标和潜力。作为同学,我们都会互相支持,经常一起学习,帮助彼此理解困难的概念。现在我期待进入专业实践,通过中医的智慧帮助他人,这是一个超过2500年的经证传统!我亲眼目睹了中医、按摩、针灸和草药学的力量,渴望与需要帮助的人分享我所学到的知识,并为中医提供的持续成长和个人成就感到兴奋。"},sebastien:{name:"Sebastien",text:"我是Sebastien,2015年春天我去中国北京的中日友好医院实习6周。首先,这整个经历绝对是非常积极的。在杜医生和王佩的初次导览之后,我交了很多朋友,帮助我在城市中导航。我仍然在与他们中的很多人交谈。北京的标志中有很多拼音和英语,这很有帮助。使用地铁系统和地图在周围移动相对容易。中国人相当友好,在被问及时会尽力帮助。医院的医生一般都很好且开放,与他们交朋友并帮助他们。我可以观察并有足够的时间学习和提问很多问题。他们很乐意帮助,有些人需要比大多数人更多的提示,但所有人都可以并且会尽力帮助。我与他们进行了许多一对一的讨论,内容涉及中医、他们治疗疾病的经验、他们的学习过程等等。虽然我有一段时间有一个好的翻译,但我发现与那些能说好英语的人直接交谈更好。这次旅行对于与许多优秀的中医从业者建立关系非常有价值,对于在不同背景和不同方式下体验中医也是无价的。我绝对推荐它。"},maxSielsky:{name:"Max G. Sielsky",text:"亲爱的杜医生,我想感谢您在您的学院给我的精彩学习经历。我必须说,包括您在内的所有教师,都以一种加强每个人——无论年轻还是年长——的方式教学。所有教师都带来了他们自己临床技能和知识的丰富信息。每个教师都关心他/她的学生。他们的所有行为都带来和谐与宁静,创造了精彩的学习氛围。这非常重要,因为针灸不是一个容易学习的专业。我不仅完成了针灸的所有要求,而且还学会了如何成为更好的从业者。每个教师都以自己独特的风格教学。包括您在内的所有人都提供了出色的PPT和出色的解释,并以一种使其有趣且更好理解的方式教授材料——这促进了强大的应用技能。您、您的夫人Ling和您的所有员工都是温暖、令人愉快的,并且非常兴奋地为学生和其他工作人员提供服务。我印象最深刻的事情之一是课堂教学和临床时间安排的组织和执行,使每个学生和他们随后的学习年都能顺利进行。包括课堂和诊所以及机构日历在内的时间表的各个方面都总是及时发送,这使安排机票和在美国安排我的时间变得轻而易举。我期待完成您学校提供的中医博士第四年的学习。我认为您和您的夫人Ling是我见过的最好的两个人。感谢您的奉献、对中医的热爱、知识、您能够发展您的领域的精彩天赋,以及我在您学校的精彩经历。我学会了很多帮助人们的新颖令人兴奋的方法,我对此非常兴奋。感谢您和您的夫人Ling总是超越期望地帮助确保每个学生不仅走在正轨上而且成功……谢谢您和最诚挚的问候……"},nongluxMacDonald:{name:"Nonglux Mac Donald",text:"从我第一次走进学校咨询他们的课程开始,我就印象深刻。我立即感觉到学校工作人员真正对帮助人们感兴趣。他们的动机是培养出质量优秀的健康专业人员,而不是利润。在这所学校度过三年的生活后,我最初的想法几乎每天都得到强化,杜医生是一位令人惊异的医生和老师,杜医生和他的夫人Ling对ä
499»–们的手艺和对学生的关心的承诺简直令人惊叹。他们一直是我的灵感来源。我只能梦想跟随他们的大脚步。所有的医生对我来说都不仅仅是导师。我在如此短的时间内从他们那里学到了很多。他们强有力的指导和令人安心的方式让我变得如此自信,我可以成为一个好的中医从业者,我几乎不认识自己了。虽然这是三年的紧张学习,但它过得很快,我一路上都很开心。由于课程以清晰的逐步方式教授,我从没有一次感到不知所措。对于任何想要就读这所学校的人,我会给出最高的推荐。这里的人们和他们教授的课程以最积极的方式改变了我的生活。您不会失望的。"}},cta:{title:"准备好开始你的中医之旅了吗?",description:"立即申请我们的课程,开启你的中医学习之旅。",applyButton:"立即申请",contactButton:"联系我们"},learnMore:"了解更多关于此课程的信息",collegeNews:{hero:{title:"学院新闻",subtitle:"了解卡尔加里中医针灸学院的最新消息和公告。"},articles:[{title:"CCTCMA年度食品募捐活动",date:"2022å¹´9月19日",excerpt:"帮助您的卡尔加里同胞度过这个冬天。今年卡尔加里中医针灸学院将与卡尔加里食品银行合作。",content:"照片由Neil Zeller和卡尔加里食品银行提供。帮助您的卡尔加里同胞度过这个冬天。今年卡尔加里中医针灸学院将与卡尔加里食品银行合作,在充满挑战的冬季支持我们的社区。",category:"社区服务"},{title:"即将举行的AAATCMD 2024年会",date:"2022å¹´5月3日",excerpt:"加入我们参加阿尔伯塔省针灸师和中医师协会年度大会。",content:"地点:在线Zoom会议。日期和时间:2024å¹´5月29日下午1点至4点30分(山地时间)。这次重要会议将涵盖专业更新、监管变化和继续教育机会。",category:"专业发展"},{title:"2022年毕业典礼公告",date:"2022å¹´5月3日",excerpt:"庆祝我们毕业生在中医和针灸方面的成就。",content:"2022年毕业典礼将于2022å¹´6月25日星期六在卡尔加里堡举行。我们为庆祝毕业班的成就以及他们对中医和针灸领域的奉献而感到自豪。",category:"毕业典礼"}],share:{label:"分享这篇文章:"},newsletter:{title:"订阅CCTCMA新闻",description:"订阅我们的新闻简报,接收学院的最新消息、更新和公告。",button:"订阅",privacy:"我们尊重您的隐私,绝不会分享您的邮箱地址。"},contact:{title:"对我们的新闻有疑问?",description:"如果您对我们的新闻有任何疑问或想了解更多信息,请联系我们。",email:"邮箱",phone:"电话"}}},programs:{hero:{title:"我们的课程",subtitle:"选择适合你的课程"},acupuncture:{title:"针灸文凭",duration:"3å¹´",description:"我们的针灸文凭课程将为您提供全面的针灸理论和实践知识。课程内容包括中医基础理论、经络腧穴、针灸技术、临床实践等。通过系统的学习和实践,您将掌握专业的针灸技能,为患者提供优质的医疗服务。",highlights:["全面的中医基础理论","系统的经络腧穴学习","丰富的临床实践机会","专业的教师指导","现代化的教学设施"],features:{integratedStudy:{title:"综合学习",description:`
500我们的针灸课程将针灸和中医理论与实践相结合,创造一个有益且全面的学习体验,为您在现实世界的应用做好准备。`},financialAssistance:{title:"经济援助",description:`
501我们的全日制针灸学生有资格通过{{link:阿尔伯塔省学生援助:https://studentaid.alberta.ca/}}获得学生资助。`},teachingExperience:{title:"数十年教学经验",description:`
502加入我们和我们的讲师,他们都拥有数十年在加拿大和国际上的教学经验。`},licenseExamReady:{title:"执照考试准备",description:`
503CCTCMA提供复习课程和其他类型的咨询服务,帮助毕业生准备即将到来的执照考试。`},handsOnLearning:{title:"实践学习",description:`
504我们的现场实习和实践为学生提供针灸、中药学和推拿按摩的实践经验。`},internationalInternship:{title:"国际实习",description:`
505CCTCMA与北京中医药大学以及{{link:中日友好医院:https://www.zryhyy.com.cn/}}建立了合作关系。学生可以向管理部门咨询国际实习等事宜。`}}},tcm:{title:"中医文凭",duration:"4å¹´",description:"中医文凭课程是我们最高级别的课程,旨在培养具有深厚中医理论功底和丰富临床经验的中医专家ã€
505‚课程涵盖中医基础理论、中药学、方剂学、临床诊断与治疗等多个方面,为学生提供全面的中医教育。",highlights:["深入的中医理论研究","系统的中药学学习","丰富的临床实践","国际化的学习环境","专业的就业支持"],features:{integratedStudy:{title:"综合学习",description:`
506该课程通过密集的理论和实践课程提供全面的学习体验。学生将有机会前往中国进行实习。`},teachingExperience:{title:"数十年教学经验",description:`
507我们的大部分教师在本地和国际上都拥有数十年的教学经验。`},handsOnLearning:{title:"实践学习",description:`
508我们的现场教学诊所和中国的教学医院为学生提供实践学习体验。`},internationalInternship:{title:"国际实习",description:`
509提供在中国学习的机会。`}},curriculum:{title:"中医课程大纲",firstSemester:{title:"第一年 - 第一学期"},secondSemester:{title:"第一年 - 第二学期"},thirdSemester:{title:"第二年 - 第一学期"},fourthSemester:{title:"第二年 - 第二学期"},fifthSemester:{title:"第三年 - 第一学期"},sixthSemester:{title:"第三年 - 第二学期"},seventhSemester:{title:"第四年 - 第一学期"},eighthSemester:{title:"第四年 - 第二学期"}}},massage:{title:"2200小时按摩文凭",duration:"2年",description:"我们的按摩文凭课程将为您提供专业的按摩治疗技能。课程内容包括解剖学、生理学、按摩技术、临床实践等。通过系统的学习和实践,您将掌握专业的按摩技能,为患者提供优质的医疗服务。",highlights:["系统的解剖学学习","专业的按摩技法","丰富的临床实践","现代化的教学设施","专业的就业支持"],features:{integratedStudy:{title:"综合学习",description:`
510我们的2200小时按摩文凭课程提供瑞典按摩、中式按摩(推拿)、生物医学以及加拿大按摩实践安全和法理方面的全面教育体验。`},financialAssistance:{title:"经济援助",description:`
511我们的2200小时按摩课程符合阿尔伯塔省学生援助的全日制高等教育援助条件。`},professionalRecognition:{title:"专业协会认可",description:`
5122200小时按摩文凭课程已获得NHPC资格委员会批准并得到NHPC认可。
512委员会确定CCTCMA的课程符合按摩治疗教育的行业标准。CCTCMA学生和毕业生将根据其出勤率和按摩治疗文凭课程(2200小时)的完成情况有资格获得NHPC会员资格。`},handsOnLearning:{title:"实践学习",description:`
513理论课程和现场教学诊所为按摩文凭课程的候选人提供实践学习体验。`}},knowYourProgram:{title:"了解您的课程"}},cta:{title:"选择你的道路",description:"准备开始你的中医之旅?立即申请我们的课程。",button:"立即申请"},details:{notFound:"课程未找到",backToPrograms:"返回课程列表",courseDuration:"课程时长:",programIntro:"课程介绍",curriculum:"课程大纲",admissionReqs:"入学要求",careerProspects:"职业发展",quickActions:"立即行动",applyNow:"立即申请",inquireDetails:"咨询详情",relatedResources:"相关资源",admissionDetails:"入学要求详情",tuitionInfo:"学费信息",internationalInfo:"国际学生信息",duration:"课程时长",bookConsultation:"预约咨询",contactInfo:"联系信息",applyOnlineNow:"立即在线申请!",locatedInCalgary:"位于美丽的加拿大阿尔伯塔省卡尔加里",bestAcupuncturePrograms:"加拿大最好的针灸项目之一",onlineApplication:"在线申请",visitCampusOrBook:"参观我们的校园或预约治疗!",callPhone:"致电 1-403-287-8688",whyChooseCCTCMA:"为什么选择CCTCMA?",whyChooseDescription:"我们为学生提供针灸和中医的高质量教育。我们的教育标准可与中国的针灸和中医项目相媲美。",whatStudentsSay:"学生心声",graduateExperiences:"听听我们毕业生的变革性经历",programIntroVideo:"课程介绍视频",clickToLearnMore:"点击了解更多关于此课程的信息",acupuncture:{title:"针灸文凭",duration:"3å¹´",description:"我们的针灸文凭课程将为您提供全面的针灸理论和实践知识。课程内容包括中医基础理论、经络腧穴、针灸技术、临床实践等。通过系统的学习和实践,您将掌握专业的针灸技能,为患者提供优质的医疗服务。",curriculum:{title:"针灸课程大纲",firstSemester:{title:"第一年 - 第一学期",courses:[{id:"S101",name:"中医基础"},{id:"S103",name:"中国针灸(1)"},{id:"S121",name:"解剖学与生理学(1)"},{id:"S123",name:"医学术语"},{id:"S131",name:"中文与中医史"},{id:"S132",name:"中医与针灸法规、伦理、沟通技巧及无菌针刺技术"}]},secondSemester:{title:"第一年 - 第二学期",courses:[{id:"S102",name:"中医诊断学"},{id:"S104",name:"中国针灸(2)"},{id:"S105",name:"中药学"},{id:"S122",name:"解剖学与生理学(2)"}]},thirdSemester:{title:"第二年 - 第一学期",courses:[{id:"S201",name:"中国针灸(3)"},{id:"S203",name:"中药方剂"},{id:"S205",name:"推拿按摩(1)"},{id:"S221",name:"病理学与微生物学(1)"},{id:"S321",name:"西医诊断学"},{id:"S241",name:"临床实习(1)"}]},fourthSemester:{title:"第二年 - 第二学期",courses:[{id:"S202",name:"中国针灸(4)"},{id:"S204",name:"内科学"},{id:"S206",name:"推拿按摩(2)"},{id:"S207",name:"食疗"},{id:"S222",name:"病理学与微生物学(2)"},{id:"S223",name:"西医药理学"},{id:"S242",name:"临床实习(2)"}]},fifthSemester:{title:"第三年 - 第一学期",courses:[{id:"S301",name:"中国针灸(5)"},{id:"S304",name:"中医运动医学"},{id:"S305",name:"病案研究(1)"},{id:"S307",name:"儿科学"},{id:"S341",name:"临床实习(3)"}]},sixthSemester:{title:"第三年 - 第二学期",courses:[{id:"S302",name:"针灸(6)"},{id:"S303",name:"中医外科与皮肤科"},{id:"S306",name:"中医妇科学"},{id:"S310",name:"工商管理概论"},{id:"S311",name:"病案研究(2)"},{id:"S331",name:"安全与法理"},{id:"S342",name:"临床实习(4)"}]}},requirements:["高中毕业或同等学历","英语水平要求:雅思6.0或同等水平","通过入学面试","身体健康,无传染病"],career:["针灸师","中医诊所经营者","健康顾问","中医教育工作者"]},tcm:{title:"中医文凭",duration:"4å¹´",description:"中医文凭课程是我们最高级别的课程,旨在培养具有深厚中医理论功底和丰富临床经验的中医专家ã€
513‚课程涵盖中医基础理论、中药学、方剂学、临床诊断与治疗等多个方面,为学生提供全面的中医教育。",curriculum:[{year:"第一年",courses:["中医基础理论","中药学基础","方剂学基础","中医诊断学","中医英语","研究方法论"]},{year:"第二年",courses:["中药学进阶","方剂学进阶","中医内科学","中医外科学","中医妇科学","中医儿科学"]},{year:"第三年",courses:["中医经典研究","临床实践","中医养生学","中医康复学","中医心理学","中医营养学"]},{year:"第四年",courses:["高级临床实践","中医科研方法","中医教育方法","中医管理","论文研究","毕业答辩"]}],requirements:["本科毕业或同等学历","英语水平要求:雅思6.5或同等水平","通过入学面试和笔试","身体健康,无传染病","有相关工作经验者优先"],career:["中医专家","中医研究员","中医教育工作者","中医诊所经营者","健康顾问"],features:{integratedStudy:{title:"综合学习",description:"我们的针灸课程将针灸和中医理论与实践相结合,创造了一个有价值和全面的学习体验,为您在现实世界的应用做好准备。"},financialAssistance:{title:"经济资助",description:"我们的全日制针灸学生有资格通过{{link:阿尔伯塔省学生资助:https://studentaid.alberta.ca/}}获得学生援助。"},teachingExperience:{title:"数十年教学经验",description:"加入我们和我们的教师团队,他们都拥有数十年的教学经验,在加拿大和国际上都有丰富的教学背景。"},licenseExamReady:{title:"执照考试准备",description:"CCTCMA提供复习课程和其他类型的咨询服务,以协助毕业生准备即将到来的执照考试。"},handsOnLearning:{title:"实践学习",description:"我们的现场实习和实践为学生提供针灸、草药学和推拿按摩的实践经验。"},internationalInternship:{title:"国际实习",description:"CCTCMA与北京中医药大学以及{{link:中日友好医院:https://www.zryhyy.com.cn/}}建立了合作关系。学生可以向管理部门咨询有关国际实习等事宜。"}}},massage:{title:"2200小时按摩文凭",duration:"2å¹´",description:"2200小时按摩文凭课程已获得{{link:加拿大自然健康从业者协会(NHPC):https://www.nhpcanada.org/home}}的批准和认可,并受阿尔伯塔省私立职业培训法案管辖。委员会已确定CCTCMA的课程大纲符合按摩治疗教育的行业标准。CCTCMA学生和毕业生将根据其按摩治疗课程的出勤率和完成情况,有资格获得NHPC会员资格。",features:{integratedStudy:{title:"综合学习",description:"我们的2200小时按摩文凭项目为学生提供瑞典式按摩、中式按摩(推拿)、生物医学以及加拿大按摩实践安全和法规的综合教育体验。"},financialAssistance:{title:"经济援助",description:"我们的2200小时按摩项目符合{{link:阿尔伯塔省学生援助:https://studentaid.alberta.ca/}}的全日制专上教育援助条件。"},professionalRecognition:{title:"专业协会认可",description:"2200小时按摩文凭项目已获得NHPC资格委员会的批准并得到NHPC的认可。委员会已确定CCTCMA的课程符合按摩治疗教育的行业标准。基于出勤率和完成按摩治疗文凭项目(2200小时),CCTCMA学生和毕业生将有资格获得NHPC会员资格。"},handsOnLearning:{title:"实践学习",description:"理论课程和现场教学诊所为按摩文凭课程的候选人提供实践学习经验。"}},knowYourProgram:{title:"了解您的课程"},curriculum:{title:"按摩文凭课程大纲",yearOne:{title:"第一年",totalHours:"1100",courses:[{id:"MT 101",name:"医学术语"},{id:"MT 102",name:"解剖学与生理学"},{id:"MT 201",name:"肌肉骨骼解剖学"},{id:"MT 202",name:"神经解剖学"},{id:"MT 104",name:"按摩理论与实践1"},{id:"MT 105",name:"伦理学与沟通"},{id:"MT 107",name:"商业技能"},{id:"MT 109",name:"按摩理论与实践2"},{id:"MT 110",name:"按摩临床实习1"}]},yearTwo:{title:"第二年",totalHours:"1100",courses:[{id:"MT 106",name:"病理学"},{id:"MT 108",name:"体格检查/病史采集"},{id:"MT 203",name:"按摩理论与实践3"},{id:"MT 204",name:"按摩理论与实践4"},{id:"MT 210",name:"按摩临床实习2"},{id:"MT 205",name:"骨科体格检查/运动损伤"},{id:"MT 206",name:"内科与外科概论"},{id:"MT 207",name:"按摩理论与实践5"},{id:"MT 208",name:"按摩理论与实践6"},{id:"MT 211",name:"按摩临床实习3"}]}}
513,requirements:["高中毕业或同等学历","英语水平要求:雅思5.5或同等水平","通过入学面试","身体健康,无传染病"],career:["按摩治疗师","运动按摩师","中医按摩师","健康顾问"]}}},programDetail:{knowYourProgram:"了解您的课程",totalHours:"总学时:{{totalHours}}",courseId:"课程代码",courseName:"课程名称",massage:{title:"2200小时按摩文凭",headerDuration:":2å¹´",duration:"2å¹´"},contact:{phone:"(403)287-8688",email:"[email protected]",address:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7"},sidebar:{duration:"课程时长",applyNow:"立即申请",bookConsultation:"预约咨询",contactInfo:"联系信息"},section:{curriculum:"课程大纲"},courseDuration:{label:"课程时长"},notFound:{title:"课程未找到",backButton:"返回课程页面"},details:{notFound:"课程未找到",backToPrograms:"返回课程页面",curriculum:"课程大纲",courseDuration:"课程时长",duration:"课程时长",applyNow:"立即申请",bookConsultation:"预约咨询",contactInfo:"联系信息",programIntroVideo:"课程介绍视频",clickToLearnMore:"点击了解更多关于此课程的信息",applyOnlineNow:"立即在线申请!",locatedInCalgary:"位于美丽的加拿大阿尔伯塔省卡尔加里",bestAcupuncturePrograms:"加拿大最好的针灸课程之一",onlineApplication:"在线申请",visitCampusOrBook:"参观我们的校园或预约治疗!",callPhone:"致电 1-403-287-8688",whyChooseCCTCMA:"为什么选择CCTCMA?",whyChooseDescription:"我们为学生提供高质量的针灸和中医教育。我们的教育标准与中国的针灸和中医课程相当。",whatStudentsSay:"学生怎么说",graduateExperiences:"听听我们的毕业生分享他们的转变经历",acupuncture:{title:"针灸文凭",duration:"3å¹´",description:"针灸文凭课程是一个为期三年的全日制课程。学生将学习针灸、中药、中医基础、中式按摩(推拿)、生物医学、针灸安全和监管,以及所有其他相关课程。实习诊所实践也将是这个课程的重要组成部分。",curriculum:{title:"课程大纲",firstSemester:{title:"第一年 - 第一学期",courses:[{id:"S101",name:"中医基础"},{id:"S103",name:"中医针灸(1)"},{id:"S121",name:"解剖生理学(1)"},{id:"S123",name:"医学术语"},{id:"S131",name:"中文和中医史"},{id:"S132",name:"中医针灸法规、职业道德、沟通技巧和清洁针刺技术"}]},secondSemester:{title:"第一年 - 第二学期",courses:[{id:"S102",name:"中医诊断学"},{id:"S104",name:"中医针灸(2)"},{id:"S105",name:"中药学"},{id:"S122",name:"解剖生理学(2)"}]},thirdSemester:{title:"第二年 - 第一学期",courses:[{id:"S201",name:"中医针灸(3)"},{id:"S203",name:"中药方剂学"},{id:"S205",name:"按摩(1)"},{id:"S221",name:"病理学和微生物学(1)"},{id:"S321",name:"西医诊断学"},{id:"S241",name:"临床实习(1)"}]},fourthSemester:{title:"第二年 - 第二学期",courses:[{id:"S202",name:"中医针灸(4)"},{id:"S204",name:"中医内科学"},{id:"S206",name:"按摩(2)"},{id:"S207",name:"食疗学"},{id:"S222",name:"病理学和微生物学(2)"},{id:"S223",name:"西医药理学"},{id:"S242",name:"临床实习(2)"}]},fifthSemester:{title:"第三年 - 第一学期",courses:[{id:"S301",name:"中医针灸(5)"},{id:"S304",name:"中医运动医学"},{id:"S305",name:"病案讨论(1)"},{id:"S307",name:"中医儿科学"},{id:"S341",name:"临床实习(3)"}]},sixthSemester:{title:"第三年 - 第二学期",courses:[{id:"S302",name:"针灸(6)"},{id:"S303",name:"中医外科和皮肤科"},{id:"S306",name:"中医妇科学"},{id:"S310",name:"工商管理概论"},{id:"S311",name:"病案讨论(2)"},{id:"S331",name:"安全与法规"},{id:"S342",name:"临床实习(4)"}]}}},tcm:{title:"中医文凭",duration:"4å¹´",description:"中医文凭课程是一个为期四年的全日制课程。学生将有机会学习高级中医课程,如中医心理学、中医预防、中医经典,以及所有相关的高级中医知识和技能。学生还需要学习高级西医内科学。",curriculum:{title:"课程大纲",firstSemester:{title:"第一年 - 第一学期",courses:[{id:"S101",name:"中医基础"},{id:"S103",name:"中医针灸(1)"},{id:"S121",name:"解剖生理学(1)"},{id:"S123",name:"医学术语"},{id:"S131",name:"中文和中医史"},{id:"S132",name:"中医针灸法规、职业道德、沟通技巧和清洁针刺技术"}]}
513,secondSemester:{title:"第一年 - 第二学期",courses:[{id:"S102",name:"中医诊断学"},{id:"S104",name:"中医针灸(2)"},{id:"S105",name:"中药学"},{id:"S122",name:"解剖生理学(2)"}]},thirdSemester:{title:"第二年 - 第一学期",courses:[{id:"S201",name:"中医针灸(3)"},{id:"S203",name:"中药方剂学"},{id:"S205",name:"按摩(1)"},{id:"S221",name:"病理学和微生物学(1)"},{id:"S321",name:"西医诊断学"},{id:"S241",name:"临床实习(1)"}]},fourthSemester:{title:"第二年 - 第二学期",courses:[{id:"S202",name:"中医针灸(4)"},{id:"S204",name:"中医内科学"},{id:"S206",name:"按摩(2)"},{id:"S207",name:"食疗学"},{id:"S222",name:"病理学和微生物学(2)"},{id:"S223",name:"西医药理学"},{id:"S242",name:"临床实习(2)"}]},fifthSemester:{title:"第三年 - 第一学期",courses:[{id:"S301",name:"中医针灸(5)"},{id:"S304",name:"中医运动医学"},{id:"S305",name:"病案讨论(1)"},{id:"S307",name:"中医儿科学"},{id:"S341",name:"临床实习(3)"}]},sixthSemester:{title:"第三年 - 第二学期",courses:[{id:"S302",name:"针灸(6)"},{id:"S303",name:"中医外科和皮肤科"},{id:"S306",name:"中医妇科学"},{id:"S310",name:"工商管理概论"},{id:"S311",name:"病案讨论(2)"},{id:"S331",name:"安全与法规"},{id:"S342",name:"临床实习(4)"}]},seventhSemester:{title:"第四年 - 第一学期",courses:[{id:"S401",name:"中医经典 - 黄帝内经素问与温病学"},{id:"S402",name:"中医心理学"},{id:"S404",name:"高级针灸和中医"},{id:"S405",name:"植物药理学"},{id:"S406",name:"中医预防医学"},{id:"S421",name:"西医内科学"},{id:"S441",name:"临床实习(5)"}]},eighthSemester:{title:"第四年 - 第二学期",courses:[{id:"S442",name:"临床实习(6)"}]}}},massage:{title:"2200小时按摩文凭",duration:"2年",description:"我们的2200小时按摩文凭课程是一个为期两年的全日制课程,已获得加拿大自然健康从业者协会(NHPC)的批准和认可,并受阿尔伯塔省私立职业培训法案管辖。",curriculum:{title:"课程大纲",yearOne:{title:"第一年",totalHours:"1100",courses:[{id:"MT 101",name:"医学术语"},{id:"MT 102",name:"解剖生理学"},{id:"MT 201",name:"肌肉骨骼解剖学"},{id:"MT 202",name:"神经解剖学"},{id:"MT 104",name:"按摩理论与实践1"},{id:"MT 105",name:"职业道德与沟通"},{id:"MT 107",name:"商业技能"},{id:"MT 109",name:"按摩理论与实践2"},{id:"MT 110",name:"按摩临床实习1"}]},yearTwo:{title:"第二年",totalHours:"1100",courses:[{id:"MT 106",name:"病理学"},{id:"MT 108",name:"身体诊断/病史采集"},{id:"MT 203",name:"按摩理论与实践3"},{id:"MT 204",name:"按摩理论与实践4"},{id:"MT 210",name:"按摩临床实习2"},{id:"MT 205",name:"骨科身体诊断/运动损伤"},{id:"MT 206",name:"内科和外科概论"},{id:"MT 207",name:"按摩理论与实践5"},{id:"MT 208",name:"按摩理论与实践6"},{id:"MT 211",name:"按摩临床实习3"}]}}}}},clinic:{hero:{title:"校内诊所",subtitle:"专业的中医治疗服务"},services:{title:"我们的服务",acupuncture:{title:"针灸治疗",description:"我们的针灸治疗服务由经验丰富的教师和资深学生提供,包括:",items:["传统针灸","电针","耳针","美容针灸","拔罐"]},tcm:{title:"中医诊疗",description:"我们的中医诊疗服务包括:",items:["中医诊断","中药处方","中医养生指导","饮食调理","生活方式建议"]},massage:{title:"按摩治疗",description:"我们的按摩治疗服务包括:",items:["中医按摩","运动按摩","放松按摩","治疗性按摩","特殊人群按摩"]}},benefits:{title:"为什么选择我们",professional:{title:"专业团队",de
513scription:"由经验丰富的教师和资深学生组成的专业团队"},quality:{title:"优质服务",description:"提供高质量的中医治疗服务"},affordable:{title:"合理价格",description:"价格合理,适合各类人群"},location:{title:"便利位置",description:"位于市中心,交通便利"}},booking:{title:"预约治疗",description:"我们提供在线预约和电话预约两种方式。您可以选择最适合您的方式预约治疗。",onlineButton:"在线预约",phoneButton:"电话预约"},hours:{title:"营业时间",weekdays:"周一至周五",saturday:"周六",sunday:"周日",closed:"休息",weekdaysTime:"上午8:00 - 晚上7:00",saturdayTime:"预约制"},cta:{title:"准备开始您的康复之旅?",description:"与我们经验丰富的执业者预约,通过中医迈出改善健康的第一步。",bookButton:"预约治疗",contactButton:"联系我们"},tcm:{curriculum:{title:"课程大纲",firstSemester:{title:"第一年 - 第一学期"},secondSemester:{title:"第一年 - 第二学期"},thirdSemester:{title:"第二年 - 第一学期"},fourthSemester:{title:"第二年 - 第二学期"},fifthSemester:{title:"第三年 - 第一学期"},sixthSemester:{title:"第三年 - 第二学期"},seventhSemester:{title:"第四年 - 第一学期"},eighthSemester:{title:"第四年 - 第二学期"}}}},admission:{hero:{title:"招生信息",subtitle:"开启你的中医学习之旅"},applyProcess:{title:"申请流程"},information:{title:"招生信息"},sections:{requirements:{title:"入学要求",content:`我们的入学要求旨在确保学生成功:
514
515• 高中文凭,12年级英语、数学和科学平均成绩达到60%
516• 英语能力(非母语者需托福560/220或雅思5.0)
517• 按摩课程最低年龄18岁,成人学生入学21岁以上
518• 通过所有课程的入学面试
519• 成人学生考虑生活经验`,link:"了解更多"},tuition:{title:"学费与助学金",content:`我们通过灵活的付款和资助选择让优质教育变得可及:
520
521• 灵活的学费分期付款计划以分摊费用
522• 政府助学金和学生贷款协助
523• 实践经验的工作学习计划
524• 早申请折扣和付款奖励
525• 财务咨询和预算规划支持`,link:"了解更多"},international:{title:"国际学生",content:`我们为国际学生提供全面支持:
526
527• 学生签证申请指导和文件支持
528• 与当地住房合作伙伴的住宿安排
529• 机场接送服务和迎新计划
530• 英语语言支持和辅导服务
531• 文化适应指导和社区融入`,link:"了解更多",meta:{title:"国际学生",description:"国际学生综合信息,包括入学要求、签证程序和支助服务。",keywords:"国际学生,学习许可,DLI,签证,卡尔加里,中医,针灸"},hero:{title:"国际学生",subtitle:"欢迎来到卡尔加里传统中医针灸学院"},dli:{title:"指定学习机构 (DLI)"},intro:{title:"1. 简介",content:`根据加拿大移民、难民和公民部(IRCC)现行指导方针,从阿尔伯塔省私立职业学院许可课程毕业的国际学生不符合毕业后工作许可(PGWP)的资格。
532
533CCTCMA欢迎所有国际学生的申请。基于省居住地或公民身份没有入学限制。
534
535以下课程是指定学习课程,有资格接收持有学习许可的外国人:
536
537• 针灸文凭课程
538• 2200小时按摩治疗课程`},admission:{title:"2. 入学",general:{title:"一般入学要求",content:`CCTCMA接受针灸文凭课程和中医文凭课程的申请,申请人必须满足以下所有条件:
539
540• 对中医或针灸有真诚的兴趣
541• 至少18岁
542• 在阿尔伯塔省完成高中教育或同等学历,12年级英语、12年级数学和12年级科学的平均成绩达到60%或以上
543• 离开高中至少两年或成功完成一年大专教育并经成绩单验证
544• 对于第一语言不是英语的申请人,需要提供托福560/220或雅思5.0考试的成功成绩证明。详情请参阅英语水平要求
545• 与学院成功面试`},massage:{title:"2200小时按摩文凭课程入学要求",standard:{title:"标准入学:",content:`学生必须满足以下条件:
546
547• 必须至少18岁
548• 阿尔伯塔省高中文凭,经官方成绩单验证,或非阿尔伯塔省同等学åŽ
548†
549• 与学校管理部门的成功面试,由学校酌情决定
550• 英语口语和写作能力,由学校酌情决定。详情请参阅英语水平文件`},mature:{title:"成人入学学生必须满足以下条件:",content:`• 必须至少19岁
551• 与学校管理部门的成功面试,由学校酌情决定
552• 大专教育或其他教育经历可能被考虑为高级学分,由学校酌情决定
553• 英语口语和写作能力,由学校酌情决定。详情请参阅英语水平要求`}}},procedure:{title:"3. 程序",content:`准国际学生提交申请包,申请费500加元。
554
55514天内,CCTCMA审查申请包并通过电子邮件或电话通知准学生是否缺少任何文件。
556
557一个月内,CCTCMA向学生邮寄录取通知书,学生开始申请学生签证、医疗保险以及相关旅行文件。
558
559学校每年9月第一周开学。
560
561注意:申请费不予退还。CCTCMA建议准学生尽快申请学生签证。`},credentials:{title:"4. 学历评估和认可标准",content:"来自其他国家的申请人必须首先完成教育学历评估,并将完成的评估副本连同文凭和成绩单副本发送到[email protected]。WES(世界教育服务)或ICAS(国际学历评估服务)的教育学历评估是可接受的。"},policies:{title:"5. 国际学生学术政策",evaluation:{title:"学术评估政策",content:"考试是评估教师和学生成就的重要工具。考试评估学生的知识水平和理解程度,同时也评估教师教学方法的有效性。在CCTCMA的大多数课程中使用笔试和实践考试来评估学生的知识。笔试和实践考试的权重将根据每门课程的要求设置。出勤率、课堂讨论参与度和实习表现也将用作评估学生学术表现的工具。"},withdrawal:{title:"退学政策",content:"所有国际学生应按照学院政策、标准、程序和规定正确行事。"},appeal:{title:"学术申诉政策",content:`CCTCMA学术申诉政策的基本原则如下:
562
563• 对所有各方都将公平对待
564• 学术决定应尽可能在学术专业水平上做出
565• 最终成绩申诉完全基于学生作业的学术价值
566• 学生必须在与教师协商后有一次额外机会审查最终成绩作业
567• 本着合作精神,学生不允许法律顾问代表`}},support:{title:"6. 国际学生支助和服务",campus:{title:"校园国际学生服务",content:`国际学生服务(ISS)是国际学生的主要支助来源,也是CCTCMA具有跨文化兴趣学生的聚集地。ISS提供以下服务:
568
569接待和定向——新国际学生欢迎在8月和9月向ISS注册,以接收关于适应新环境的重要信息,如文化调整和适应。
570
571以下服务是一些例子:
572
573• 新国际学生定向
574• 推荐卡尔加里的住宿和交通
575• 为新人介绍加拿大的银行系统
576• CCTCMA提供的服务
577
578国际学生咨询办公室——在这里您可以找到各种问题的支助,如学术咨询、学习期间工作、移民、就业和适应加拿大生活。
579
580跨文化咨询——我们的跨文化顾问为CCTCMA学生提供个人问题的文化敏感咨询。随时讨论从家庭问题到抑郁到自尊的任何事情。
581
582社交和文化活动——ISS通过举办文化和社交活动,如主题晚宴、聚会、实地考察和旅游,为学生提供加拿大和世界文化的体验。`},community:{title:"社区提供的支助",content:`我们致力于为CCTCMA的国际学生提供以下服务:
583
584• 来自管理团队
585• 来自CCTCMA的国际学生顾问
586• 来自CCTCMA国际学生办公室
587
588还有其他可用的支助:
589
590• 卡尔加里市
591• 新移民中心
592• 当地社区`},immigration:{title:"移民和学习期间工作",content:`国际学生服务(ISS)向在CCTCMA学习的国际学生提供有关移民文件(即学习许可)的信息。
593
594请注意,ISS不能就此类移民事务向您提供建议或代表您行事。我们的网站提供<a href="https://www.canada.ca/en/immigration-refugees-citizenship.html" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">加拿大公民和移民部</a>的链接,那里有完整的信息、申请表和说明。
595
596寻求移民加拿大信息的国际学生可以查看<a href="https://www.canada.ca/en/immigration-refugees-citizenship.html" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">加拿大公民和移民部网站</a>。`}},health:{title:"7. 国际学生健康支助",content:'卡尔加里传统中医针灸学院(CCTCMA)的所有国际学生都有资格参加<a href="https://www.alberta.ca/ahcip?utm_source=chatgpt.com" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">阿尔伯塔省医疗保险计划(AHCIP)</a>,我们强烈鼓励国际学生购买AHCIP未涵盖的充分保险。CCTCMA学院诊所还为我们所有学生提供每年最多10次的免费针灸治疗,由我们的实习生监督。'},academicSupport:{title:"8. 国际学生学术支助",content:`CCTCMA致力于维持高标准并鼓励您的学术成功。学术地位适用于CCTCMA的所有课程,与学生有资格在CCTCMA针灸文凭课程中注册课程有关。
597
598如果您遇到学术困难,建议您尽快与您的学术顾问会面。您越早获得帮助,就越容易获得帮助。`},complaint:{title:"9. 学生投诉和争议解决程序",content:"我们建议学生始终尝试非正式地解决问题。如果需要正式方法,CCTCMA提供公平合理的解决程序。"},cta:{title:"准备开始您的旅程?",description:"加入我们的国际社区,在卡尔加里开始您的中医教育。",applyButton:"立即申请",contactButton:"联系我们"}}},applicationSteps:{step1:{title:"提交申请",description:"填写在线申请表并提交所需文件"},step2:{title:"入学面试",description:"参加入学面试,展示你的学习动机和潜力"},step3:{title:"录取通知",description:"收到录取通知后,确认入学意向"},step4:{title:"注册课程",description:"完成课程注册和学费支付"}},cta:{title:"准备好开始你的中医之旅了吗?",description:"立即申请我们的课程,或联系我们的招生顾问了解更多信息。",applyButton:"立即申请",contactButton:"联系招生顾问"},apply:{messages:{submissionError:"提交失败,请重试。",successTitle:"申请提交成功!",successMessage:"感谢您的申请。我们将在2-3个工作日内审核您的申请并与您联系。",submitAnother:"提交另一个申请"}},requirements:{hero:{title:"入学要求",subtitle:"关于我们入学标准和要求的详细信息"},acupuncture:{title:"针灸和中医文凭课程"},standardAdmission:{title:"》标准入学",content:`申请CCTCMA的针灸文凭课程和中医文凭课程,准学生必须:
599
600• 已完成高中学业或其他同等学历教育。需提供成绩单验证,且应包含12年级英语、12年级数学和12年级科学,成绩均不低于60%。
601
602• 提交填写完整的申请表以及个人陈述。
603
604• 提交两封推荐信。
605
606• 通过CCTCMA管理部门的面试。
607
608若申请人提交的成绩单并非来自以英语为主要语言的国家的院校,则需提供英语语言能力证明。详情请参阅下方的“英语语言能力要求”。`},matureAdmission:{title:"》成人学生入学",content:`成人学生入学是为以下申请人设立的特殊入学程序:
609
610• 非应届高中毕业生(年满21岁或以上)。
611
612• 未完成高中学业,或已离开学校多年。
613
614• 可能不符合传统学术要求,但具备生活经验、工作经历或非传统教育背景。
615
616成人学生可由CCTCMA管理部门酌情采用其他标准进行入学评估,包括但不限于:
617
618• 与学校管理部门进行面试。
619
620• 将其他教育经历纳入考量以申请高级学分。
621
622请注意:CCTCMA设有专门为成人学生服务的顾问。请直接与我们联系,我们将协助评估您的入学资格并指导您完成整个流程。
623
624若申请人提交的成绩单并非来自以英语为主要语言的国家的院校,则需提供英语语言能力证明。详情请参阅下方的“英语语言能力要求”。`},massage:{title:"按摩文凭课程",standardAdmission:{title:"》标准入学",content:`所有学生必须:
625
626• 年满18岁。
627
628• 已取得高中文凭或完成其他同等学历教育。需提供成绩单验证。
629
630• 通过CCTCMA管理部门的面试。
631
632若申请人提交的成绩单并非来自以英语为主要语言的国家的院校,则需提供英语语言能力证明。详情请参阅下方的“英语语言能力要求”。`},matureAdmission:{title:"》成人学生入学",content:`成人学生可由CCTCMA管理部门酌情采用其他标准进行入学评估,包括但不限于:
633
634• 与学校管理部门进行面试。
635
636• 将其他教育经历纳入考量以申请高级学分。
637
638请注意:CCTCMA设有专门为成人学生服务的顾问。请直接与我们联系,我们将协助评估您的入学资格并指导您完成整个流程。`}},english:{title:"英语语言能力要求",intro:`请仔细阅读以下内容。CCTCMA的所有教学均以英语进行。我们要求所有准学生具备所需的英语水平,以确保学习顺利。
639
640如不确定哪种英语能力认定方式适用于自己,请在提交申请前与CCTCMA联系。相关咨询可发送至[email protected]。`,testTable:{test:"测试",minimumScore:"最低分数要求"},acupunctureProgram:{title:"》针灸课程",intro:"英语是主要教学语言。准学生必须通过以下方式之一证明其具备所需的英语水平。",priorEducation:{title:"在英语国家接受过教育",content:`• 在加拿大、美国、英国、澳大利亚、新西兰或其他认可的英语国家完成至少连续一年的全日制学习。
641
642• 就读于认可的大专院校、大学或其他认可的高等教育机构。`},approvedTests:{title:"认可的英语水平测试",content:"申请人也可通过达到下列任一认可英语水平测试的最低分数要求来满足条件。"},note:`针灸和中医文凭课程的申请人必须通过在英语国家接受教育或认可的英语水平测试来满足英语语言能力要求。
643
644针灸和中医文凭课程不接受上述要求的任何例外情况。`},massageProgram:{title:"》2200小时按摩课程",intro:"英语是主要教学语言。准学生必须通过以下方式之一证明其具备所需的英语水平。",priorEducation:{title:"在英语国家接受过教育",content:`• 在加拿大、美国、英国、澳大利亚、新西兰或其他认可的英语国家完成至少连续一年的全日制学习。
645
646• 就读于认可的大专院校、大学或其他认可的高等教育机构。`},approvedTests:{title:"认可的英语水平测试",content:"申请人也可通过达到下列任一认可英语水平测试的最低分数要求来满足条件。"},alternatives:{title:"英语能力的替代证明方式",content:`若申请人能够通过CCTCMA管理部门认可的其他方式,证明其英语水平足以达到本课程的学习要求,学校可逐案豁免正式的英语语言要求。
647
648CCTCMA在评估英语能力替代证明的申请时,可采用以下一项或多项作为依据:
649
650• 现场或线上面试。
651
652• 写作样本或其他英语语言测评。
653
654• 长期在英语环境中工作或学习的证明。
655
656• 来自英语教师、升学顾问、校长或学校负责人的正式推荐信,确认申请人的英语水平足以顺利完成本课程。推荐信应通过电子邮件提交,并附上推荐人的联系方式,最好包括电话号码和电子邮箱。
657
658• 正式成绩单,须显示已修课程、在读课程及预期成绩。成绩单须装于密封的学校信封中,并由学校直接寄送至CCTCMA,方视为正式成绩单;以及
659
660• 其他可证明英语能力的材料,例如成就测试成绩。`}},contact:"提交替代评估申请时,须包含所有必需文件以及申请人的学号。申请可发送至[email protected]。我们强烈建议申请人尽量通过上述认可方式满足英语语言要求,提交替代评估申请并不保证获得批准。"},cta:{title:"准备申请?",description:"现在您了解了我们的入学要求,迈出中医教育之旅的下一步。",applyButton:"立即申请",contactButton:"联系招生"}}},exam:{hero:{title:"全国考试",description:"通过我们全面的考试准备计划,为您的专业认证做好准备"},info:{sectionTitle:"考试信息",title1:"针灸考试",content1:"针灸考试是一个全面的测试,评估您在中医针灸方面的知识和技能。它涵盖理论知识、实践技能和临床应用。",examContent:"考试内容:",acupuncture:{content1:"中医基础理论",content2:"经络腧穴",content3:"针灸技术",content4:"临床诊断",content5:"安全与伦理"},requirements:"报名要求:",acupunctureReqs:{req1:"完成针灸文凭课程",req2:"通过临床实习评估",req3:"满足考试报名要求"},title2:"中医考试",content2:"中医考试评估您对中医理论、诊断和治疗方法的理解。它包括笔试和实践部分。",tcm:{content1:"中医基础理论",content2:"中药学",content3:"方剂学",content4:"中医诊断学",content5:"临床实践"},tcmReqs:{req1:"完成中医博士文凭课程",req2:"通过临床实习评估",req3:"满足考试报名要求"},title3:"按摩治疗考试",content3:"按摩治疗考试评估您在各种按摩技术方面的熟练程度以及对解剖学和生理学的理解。",massage:{content1:"解剖学与生理学",content2:"按摩技术",content3:"临床评估",content4:"治疗计划",content5:"专业实践"},massageReqs:{req1:"完成按摩治疗文凭课程",req2:"通过临床实习评估",req3:"满足考试报名要求"}},registration:{sectionTitle:"报名流程",step1:{title:"完成必修课程",description:"确保在报名考试前完成所有必修课程和临床实习时间。"},step2:{title:"提交申请",description:"提交考试申请,包括所有必要的文件和费用。"},step3:{title:"接收确认",description:"等待考试报名和考试时间的确认。"},step4:{title:"准备考试",description:"参加我们的考试准备计划和练习课程。"}},preparation:{sectionTitle:"考试准备",tip1:{title:"学习资料",content:"获取我们全面的学习资料和练习题。"},tip2:{title:"模拟考试",content:"利用我们的模拟考试熟悉考试形式。"},tip3:{title:"一对一辅导",content:"从我们经验丰富的教师那里获得个性化指导。"}},cta:{title:"准备开始您的旅程?",description:"加入我们的考试准备计划,迈出专业认证的第一步。",button:"联系我们"},cctcmaSupport:{performanceData:[{category:"全国考试",passRate:"100%"},{category:"安全",passRate:"100%"},{category:"治疗方法",passRate:"100%"},{category:"针灸穴位",passRate:"100%"}]}},page123:{step1:{title:"》首次预约须知",content:`请在预约时间前5-10分钟到达。这将给您时间完成必要的登记表格。
661
662如果这是您第一次来卡尔加里中医针灸学院就诊,请预留大约1.5小时的就诊时间。
663
664如果这是您第一次接受针灸或中医治疗,请告知您的针灸师。他们会花时间更深入地解释治疗的各个方面。
665
666我们所有的学生实习生都在我们的督导中医师的监督下工作。中医师会为我们的学生实习生提供指导,但在您的预约期间不会进行直接监督。在治疗期间的任何时候,您都可以要求督导中医师在场;只
666需告诉您的实习生即可。
667
668在治疗开始时,您将获得一个紧急响应按钮。如果您在治疗期间感到不适或需要进一步帮助,可以随时按下此按钮。`},step2:{title:"》预约前准备",content:`在CCTCMA,我们建议您不要化妆或使用任何遮盖皮肤颜色或状况的东西。作为治疗的一部分,您的针灸师需要评估您皮肤的当前状况和外观。无香味的面霜和乳液是可以接受的,但是,如果您有黑眼圈或其他瑕疵,请避免遮盖它们。您面部的自然特征是中医诊断的一部分;这为您的中医师提供了做出正确诊断和为您提供最佳治疗所需的宝贵信息。
669
670请避免在治疗当天使用香水、古龙水或其他有香味的产品。这包括除臭剂和止汗剂。您身体的自然气味也为您的中医师诊断提供了宝贵的信息。`},step3:{title:"》着装要求",content:`我们建议患者摘除所有手镯、手表或腕带。您的针灸师需要感受您双手腕的脉搏,某些治疗可能需要在您的腕部区域进行针刺。因此,请在治疗前摘除所有腕部饰品。
671
672穿着舒适且易于脱下的衣服。我们会为您提供治疗时穿的袍子。`},step4:{title:"》饮食要求",content:`请确保在治疗前进食。如果您长时间没有进食,请告知您的针灸师。在开始治疗前,我们会为您提供一小杯果汁、糖水或一些糖果。如果您的血糖过低,您可能会在治疗期间和治疗后感到头晕。
673
674请避免在治疗前几小时饮用咖啡或其他有颜色的液体和饮料。您的舌头颜色和舌苔颜色是您的中医师使用的宝贵诊断工具。例如,黄色舌苔表示的症状与白色舌苔完全不同。`},contact:{text:"如果您对治疗选择或预约期间的预期有任何疑问,请随时致电(403) 287-8688联系我们,或发送电子邮件至[email protected]。"},cta:{title:"准备好预约了吗?",description:"现在您知道如何准备了,请与我们经验丰富的医师预约,开始您的健康之旅。",bookButton:"预约治疗",servicesButton:"查看服务"}},panCanadianExam:{hero:{title:"什么是全加拿大考试?",subtitle:"了解加拿大针灸和中医执业的国家标准"},overview:{title:"全加拿大考试概述",description:"全加拿大考试是标准化的国家评估,旨在评估加拿大各地针灸和中医执业者的能力。",content:"这些考试确保执业者达到一致的高标准知识和临床技能,无论他们在何处接受教育。考试得到加拿大各省和地区监管机构的认可。"},examComponents:{title:"考试组成",written:{title:"笔试考试",items:["中医理论与原理","针灸穴位定位","诊断与治疗","安全与伦理"]},practical:{title:"实践考试",items:["临床评估技能","针刺技术","穴位定位准确性","安全协议"]}},examStations:{title:"考试站点",safety:{title:"安全站",description:"展示感染控制、针具安全、禁忌症和紧急程序的知识。"},modalities:{title:"治疗方法站",description:"评估各种针灸技术的实践技能,包括手针、电针和其他治疗方法。"},points:{title:"针灸穴位站",description:"测试针灸穴位的准确定位、解剖知识和正确的针刺技术。"}},eligibility:{title:"资格要求",education:{title:"教育背景:",description:"毕业于认可的针灸或中医课程"},clinicalHours:{title:"临床时间:",description:"完成所需的临床培训时间"},application:{title:"申请:",description:"提交完整的申请和所需文件"},fees:{title:"费用:",description:"支付考试费用"}},recognition:{title:"省级认可",description:"全加拿大考试得到加拿大各地监管机构的认可,包括:",provinces:{alberta:{name:"阿尔伯塔省",body:"阿尔伯塔省针灸师管理局"},bc:{name:"不列颠哥伦比亚省",body:"BC省中医执业者和针灸师学院"},ontario:{name:"安大略省",body:"安大略省中医执业者和针灸师学院"},quebec:{name:"魁北克省",body:"魁北克针灸师协会"}}},cta:{title:"与CCTCMA一起为成功做准备",description:"我们的综合课程旨在为您准备全加拿大考试和专业实践。",learnMore:"了解更多我们的支持:"}},cctcmaSupport:{hero:{title:"CCTCMA在取得成功方面的支持",subtitle:"为全加拿大考试成功提供全面的准备和支持"},intro:{title:"赋能学生成功",highlight:"对于针灸和中医课程的毕业生来说,为全加拿大考试做准备可能是一个巨大的挑战。这就是为什么CCTCMA采取了积极措施来帮助我们的学生在这些关键考试中取得成功。",description:"在过去的二十年中,CCTCMA积累了丰富的经验和资源,帮助我们的学生应对全加拿大考试的所有组成部分。我们每年在全加拿大考试前三个月为学生提供复习课程。这些复习课程受到了学生们的高度赞赏。"},results:{title:"卓越的考试成绩",description:"我们为学生们在全加拿大考试中的成功感到自豪。在2022å¹´10月,我们的毕业生在阿尔伯塔省的以下考试站点取得了100%通过率的显著æ
674ˆç»©ã€‚",table:{title:"2022年秋季AARE成绩报告 - CCTCMA",0:{category:"全加拿大考试",rate:"100%"},1:{category:"安全",rate:"100%"},2:{category:"治疗方法",rate:"100%"},3:{category:"针灸穴位",rate:"100%"}}},refresher:{title:"复习课程",timing:{title:"时间安排",description:"每年在全加拿大考试前三个月提供"},content:{title:"内容",description:"对所有考试组成部分进行全面复习"},format:{title:"形式",description:"互动式课程和模拟考试"}},resources:{title:"全面的资源",materials:{title:"学习资料",description:"专业的准备材料和模拟测试"},faculty:{title:"教师支持",description:"经验丰富的教师提供一对一指导"},mock:{title:"模拟考试",description:"真实的练习课程,建立信心"}},experience:{title:"二十年的卓越成就",years:{title:"多年经验",description:"在考试准备方面积累了丰富的经验"},success:{title:"成功率",description:"在所有考试站点表现出色"},appreciation:{title:"学生赞赏",description:"复习课程受到学生高度赞赏"}},testimonials:{title:"学生成功故事",quote:"复习课程对我准备全加拿大考试非常宝贵。教师的支持和全面的复习材料给了我成功所需的信心。",author:"— CCTCMA毕业生,2022届"},cta:{title:"加入我们的成功故事",description:"体验CCTCMA的优势,通过我们经过验证的支持系统为全加拿大考试成功做准备。",contactTitle:"联系我们了解更多:"}},contact:{hero:{title:"联系我们",subtitle:"联系我们了解更多关于我们课程的信息"},info:{title:"联系信息",address:{title:"学校地址",line1:"107 and 217, 4014 Macleod Trail South",line2:"Calgary, AB, Canada T2G 2R7"},phone:{title:"电话",number:"1-403-287-8688",main:"1-403-287-8688",tollFree:"1-403-287-8688"},email:{title:"邮箱",address:"[email protected]",general:"[email protected]",admissions:"[email protected]"},hours:{title:"办公时间",weekdays:"周一至周五: 9:00 AM - 5:00 PM",weekends:"周六周日: 休息",saturday:"周六: 预约制"}},form:{title:"给我们留言",name:"您的姓名",email:"您的邮箱",phone:"您的电话",subject:"主题",message:"您的留言",submit:"发送留言",nameRequired:"姓名不能为空",emailRequired:"邮箱不能为空",emailInvalid:"请输入有效的邮箱地址",messageRequired:"留言内容不能为空",sending:"发送中...",success:"谢谢您!您的留言已成功发送。",error:"抱歉,发送留言时出现错误,请重试。"}},application:{title:"在线申请",subtitle:"开始您的中医之旅",sections:{personal:{title:"个人信息",firstName:"名",lastName:"姓",email:"电子邮箱",phone:"电话号码",dateOfBirth:"出生日期",address:"街道地址",city:"城市",province:"省份/州",postalCode:"邮政编码",country:"国家",selectCountry:"选择国家"},program:{title:"课程选择",selectProgram:"选择课程",chooseProgram:"选择一个课程",acupuncture:"3年制针灸文凭",tcm:"4年制中医文凭",massage:"2200小时按摩文凭",preferredStart:"希望开学时间",selectTerm:"选择学期"},education:{title:"教育背景",highSchool:"高中名称",gradYear:"毕业年份",englishProficiency:"英语水平",selectTest:"选择考试",previousEducation:"以往教育/培训经历",previousEducationPlaceholder:"请描述任何相关的教育、培训或证书..."},additional:{title:"附加信息",workExperience:"工作经验",workExperiencePlaceholder:"请描述任何相关的工作经验...",motivation:"您为什么要学习中医/针灸?",motivationPlaceholder:"请说明您的学习动机和职业目标...",hearAboutUs:"您是如何了解我们的?",selectSource:"选择来源",website:"网站",socialMedia:"社交媒体",friend:"朋友/家人",event:"活动/讲座",other:"其他"},documents:{title:"文件上传",transcript:"官方成绩单",englishTest:"英语水平测试成绩",passport:"护照/身份证复印件",fileTypes:"接受格式:PDF、DOC、DOCX、JPG、PNG(最大5MB)",dropFiles:"将文件拖拽到此处或点击浏览"}},terms:{title:"条款和条件",content1:"提交此申请即表示您已阅读并理解我们的入学要求。",content2:"所提供的所有信息必须准确完整。虚假信息可能导致申请被拒。",content3:"申请费不予退还。请在提交前仔细核对所有信息。",agreement:"我同意条款和条件"},form:{submit:"提交申请",submitting:"提交中...",cancel:"返回招生信息",submitSuccess:"谢谢!您的申请已成功提交。我们将很快与您联系。",error:"提交申请失败,请稍后再试。",newApplication:"提交新申请"}},services:{title:"服务与费用",subtitle:"立即掌控您的健康,
674在我们的诊所预约治疗!",description:"您可以接受由督导实习生或学生提供的治疗,或由我们的专业医生提供治疗。这种方式让我们能够以实惠的价格为您提供治疗和服务。",feeSchedule:"查看我们的收费表:",pricing:{title:"治疗类型",treatmentType:"治疗类型",details:"详情",regularPrice:"常规价格",packagePrice:"套餐价格",book:"预约"},acupuncture:{internSupervised:{name:"针灸",description:"由实习生在医生/教师督导下进行",price:"每次治疗$25.00",packagePrice:"不适用"},doctorObservation:{name:"针灸",description:"由医生在学生观察下进行",price:"免费",packagePrice:"不适用"},doctorPrivate:{name:"针灸",description:"由医生进行,无观察",price:"每次治疗$100.00",packagePrice:"不适用"}},massage:{studentThirtyMin:{name:"按摩",description:"由学生进行,最长治疗时间为30分钟",price:"30分钟治疗$25.00",packagePrice:"不适用"},rmt:{name:"按摩",description:"由注册按摩师进行",price:"1小时治疗$110.00",packagePrice:"不适用"}},herbs:{granule:{name:"中药(颗粒)",description:"",price:"价格不等",packagePrice:""},traditional:{name:"中药",description:"",price:"价格不等",packagePrice:""}},clinicHours:{title:"查看我们的诊所时间",monday:"周一",tuesday:"周二",wednesday:"周三",thursday:"周四",friday:"周五",mondayHours:"上午9:30—下午5:30",tuesdayHours:"上午9:30—下午5:30",wednesdayHours:"上午9:30—下午5:30",thursdayHours:"上午9:30—下午5:30",fridayHours:"上午9:30—下午5:30"},booking:{title:"预约您的治疗",selectedService:"选择的服务",selectService:"请先选择上述服务之一以继续",selectTime:"选择时间",personalInfo:"个人信息",firstName:"名",lastName:"姓",email:"电子邮箱",phone:"电话号码",preferredDate:"首选日期",preferredTime:"首选时间",healthInfo:"健康信息",symptoms:"当前症状/关注",symptomsPlaceholder:"请描述您的症状或关注的问题...",previousTreatment:"既往治疗史",previousTreatmentPlaceholder:"您以前接受过类似的治疗吗?",specialRequests:"特殊要求或备注",specialRequestsPlaceholder:"任何特殊要求或附加信息...",policies:"预约政策",policy1:"请在预约时间前10分钟到达",policy2:"需要提前24小时取消预约",policy3:"迟到可能导致治疗时间缩短",consent:{title:"预约政策",agreement:"我同意接受所选治疗,并了解相关的风险和益处",privacy:"我同意为治疗目的收集和使用我的个人信息"},contact:{title:"需要帮助?",description:"如果您有任何问题或需要预约协助,请直接联系我们。",phone:"电话",email:"电子邮箱"},submit:"预约",cancel:"返回诊所",selectServiceFirst:"请先选择服务",success:"谢谢!您的预约请求已提交。我们将联系您确认预约。"},cta:{title:"准备开始您的康复之旅了吗?",description:"与我们经验丰富的医师预约,通过传统中医向更好的健康迈出第一步。",bookButton:"预约",contactButton:"联系我们"}},footer1:{contact:{title:"联系我们",address:"107 and 217, 4014 Macleod Trail South",city:"Calgary, AB, Canada T2G 2R7",phone:"1-(403)287-8688",local:"(403)287-8688",email:"[email protected]"},links:{about:"关于我们",programs:"专业课程",admission:"招生信息",clinicLink:"校内诊所",exam:"全国考试",contact:"联系我们"},external:{title:"外部链接",aaatcmd:"阿尔伯塔省针灸师和中医师协会",caa:"阿尔伯塔省针灸师管理局",studentAid:"阿尔伯塔省学生资助",nhp:"加拿大自然健康从业者",internship:"学生实习计划",maple:"Maple针灸按摩诊所"},copyright:"版权所有。"},tuition:{hero:{title:"学费与费用",subtitle:"卡尔加里中医针灸学院各专业的官方学费标准和资助选项"},summary:{title:"学费概览",description:"CCTCMA各专业的学费概要如下:",canadianStudents:"加拿大学生",internationalStudents:"国际学生",acupuncture:"针灸课程",massage:"2200小时按摩治疗课程",tcm:"中医博士课程",perYear:"每年学费",threeYears:"三年制",twoYears:"两年制",fourYears:"四年制"}
674,payment:{title:"付款选项",subtitle:"灵活的付款方案,让您的教育更加实惠",installments:{title:"分期付款计划",description:"将学费分为可管理的月付款",benefit:"灵活预算"},studentAid:{title:"政府学生资助",description:"申请省级和联邦资助",benefit:"减轻经济负担"},scholarships:{title:"奖学金和助学金",description:"基于成绩和需求的经济奖励",benefit:"认可与支持"}},additional:{title:"额外费用",books:"教材与资料",supplies:"临床用品",registration:"注册费",parking:"停车费(可选)"},financial:{title:"经济援助资源",description:"我们致力于让优质的中医教育更加便民。请联系我们的经济援助办公室获得个性化帮助。",contact:"联系经济援助办公室"}},prepareAppointment:{hero:{title:"预约准备指南",subtitle:"来我们诊所就诊前您需要了解的一切"},beforeVisit:{title:"就诊前准备",items:["请提前15分钟到达办理登记手续","请携带有效身份证件和保险信息","请穿着舒适宽松的衣物","治疗前2小时内避免进食过饱","请列出当前服用的所有药物和补品"]},whatToExpect:{title:"治疗流程",consultation:{title:"初次咨询",description:"医师将与您讨论病史和当前健康问题"},examination:{title:"中医诊断",description:"采用传统诊断方法,包括脉诊和舌诊"},treatment:{title:"治疗过程",description:"根据您的个人需求制定个性化治疗方案"}},afterCare:{title:"治疗后注意事项",items:["多喝水","24小时内避免剧烈运动","注意症状的任何变化","遵循医师给出的具体指导"]}},forms:{title:"申请表格",subtitle:"下载并完成申请所需的表格",download:{title:"下载表格",description:"点击下方链接下载申请表格",newStudentForm:"CCTCMA新生申请表"},upload:{title:"上传已完成的表格",description:"在此上传您已完成的申请表格",dragDrop:"将文件拖拽到此处,或点击浏览",fileTypes:"接受的文件类型:PDF、DOC、DOCX(最大10MB)",submit:"上传表格"}},admin:{login:{title:"CMS 管理系统",subtitle:"Calgary College of Traditional Chinese Medicine and Acupuncture",adminLogin:"管理员登录",enterCredentials:"请输入您的管理员凭据",username:"用户名",password:"密码",enterUsername:"输入用户名",enterPassword:"输入密码",signingIn:"登录中...",signIn:"登录",demoCredentials:"演示账户",demoDescription:"您可以使用以下账户进行测试",adminAccount1:"管理员账户 1",adminAccount2:"管理员账户 2",use:"使用",securityNote:"这些是预设的演示账户。在生产环境中,请确保使用强密码并定期更改。",emptyCredentials:"用户名和密码不能为空",invalidCredentials:"用户名或密码无效",loginFailed:"登录失败:{{error}}",storageCleared:"所有存储已清除。请刷新页面并重新登录。"},dashboard:{title:"CCTCMA 管理面板",subtitle:"内容管理系统",viewWebsite:"查看网站",logout:"退出登录",visualEditor:"可视化编辑器",applications:"申请管理",contactForms:"联系表单",loading:"加载中...",refresh:"刷新",noApplications:"未找到申请记录",noContacts:"未找到联系表单",applicationList:"申请列表",contactList:"联系表单列表",applicationDetails:"申请详情",contactDetails:"联系表单详情",selectAp
674plication:"请从左侧选择一个申请",selectContact:"选择一个联系表单查看详情",chooseContact:"从左侧列表中选择联系表单",loadingApplications:"加载申请中...",loadingContacts:"加载联系表单中...",viewDetails:"查看详情",delete:"删除",deleteConfirm:"您确定要删除此项目吗?此操作无法撤销。",deleteSuccess:"删除成功",deleteFailed:"删除失败",save:"保存更改",cancel:"取消",saving:"保存中...",saved:"保存成功",saveFailed:"保存失败",resetChanges:"重置更改",addNotesPlaceholder:"添加关于此申请的备注...",addResponsePlaceholder:"添加对此联系消息的回复...",workExperience:"工作经验",applicationMotivation:"申请动机",additionalInformation:"附加信息",uploadedFiles:"上传文件",applicationStatus:"申请状态",adminNotes:"管理员备注",notProvided:"未提供",noFiles:"无文件",noFilesAttached:"无附件",videoManagerTab:"视频管理",uploadedApplicationsTab:"上传申请",tabs:{submissions:"申请管理",contacts:"联系表单",uploadedApplications:"上传申请"}},visualEditor:{title:"可视化编辑模式",description:"点击下方按钮进入可视化编辑模式,然后浏览到您网站的任何页面并直接编辑内容",launchButton:"启动可视化编辑模式",howToUse:"如何使用可视化编辑器",step1:"点击上方按钮以编辑模式打开网站",step2:"导航到您想要编辑的任何页面(首页、关于、课程等)",step3:"直接点击文本或图像进行内联编辑",step4:"更改会自动保存并出现在实时网站上"},contentManager:{title:"内容管理",description:"编辑和管理您的网站内容,支持实时预览",showPreview:"显示预览",hidePreview:"隐藏预览",loadingContent:"加载内容中...",sections:{homepage:"首页",about:"关于我们",programs:"专业课程",clinic:"校内诊所",contact:"联系我们",admission:"招生信息"}},applications:{status:{pending:"待审核",reviewing:"审核中",accepted:"已接受",rejected:"已拒绝",waitlisted:"候补"},fields:{name:"姓名",email:"邮箱",phone:"电话",program:"申请课程",status:"状态",submittedAt:"提交时间",notes:"管理员备注"}},contacts:{status:{new:"新消息",read:"已读",replied:"已回复",closed:"已关闭"},fields:{name:"姓名",email:"邮箱",phone:"电话",subject:"主题",message:"消息",status:"状态",submittedAt:"提交时间",response:"管理员回复"}},videos:{title:"视频管理器",description:'管理在"为什么选择CCTCMA"页面上显示的3个视频位置。您可以上传来自YouTube、Vimeo或提供直接视频链接的视频。',openManager:"打开视频管理器",instructions:{title:"使用说明",step1:'点击"打开视频管理器"来管理您的视频上传',step2:"您可以将视频上传到3个可用插槽中的任何一个",step3:"支持的视频来源:YouTube、Vimeo或直接视频链接",step4:'视频将出现在"为什么选择CCTCMA"页面的推荐下方'},manager:{slotsStatus:"视频插槽状态",slot:"插槽",editVideo:"编辑视频",deleteVideo:"删除视频",noVideoUploaded:"未上传视频",addVideo:"添加视频",editVideoForm:"编辑视频",addNewVideoForm:"添加新视频",deleteConfirm:"您确定要删除此视频吗?"}},uploadedApplications:{title:"上传的申请",description:"查看和管理包含上传文件的申请。这些申请包含可以直接下载的文档上传。",filters:{all:"全部",pending:"待审核",reviewed:"已审核",accepted:"已接受",rejected:"已拒绝"},applicationFiles:"申请文件",refresh:"刷新",loadingApplications:"加载申请中...",noApplicationsFound:"未找到申请",noFilteredApplicationsFound:"未找到{{filter}}申请",applicationsWillAppear:"申请提交后将在此处显示",noFilteredApplicationsMessage:'未找到状态为"{{filter}}"的申请',uploadedFiles:"上传的文件:",noFilesUploaded:"此申请没有上传文件",program:"专业",status:"状态",submitted:"提交时间",deleteApplication:"删除申请"}},page124:{about332:{hero:{title:"关于我们",subtitle:"了解卡尔加里中医针灸学院的历史、使命和价值观"},college:{title:"关于学院",content:`卡尔加里中医针灸学院成立于2003年,是一所在阿尔伯塔省高等教育部、阿尔伯塔省针灸师管理局、加拿大自然健康从业者(NHPC)和加拿大按摩和手法骨科治疗师协会(CMMOTA)注册的综合性教育机构。学院完美地融合了教学、医疗、研究和中医文化推广。
675
676学院目前提供三个专业:针灸文凭课程、2200小时按摩文凭课程和中医文凭课程,均以英语授课。学生有机会申请阿尔伯塔省政府和加拿大联邦政府的奖学金和资助。此外,学院获得加拿大联邦政府的指定学习机构(DLI: O111917070547)资格,可接收国际学生。我们尊敬的教师团队包括来自世界各地的教授、副教授、讲师和中医博士,他们在专业é¢
676†åŸŸå¤‡å—尊敬。他们以热情、专业和真诚的承诺致力于教学,帮助每个学生在技能上取得卓越成绩。
677
678学院位于卡尔加里,这里被认为是世界上最富有、最安全、最宜居的城市之一。我们的学院享有优美的环境优势,空气清新,被令人叹为观止的永恒雪山所环抱,包括雄伟的落基山脉和著名的班夫国家公园。卡尔加里以其友好的氛围而闻名,一直保持在全球十大最宜居城市之列。
679
680在二十年的教育卓越历程中,卡尔加里中医针灸学院秉承中医针灸"传承与创新"的核心理念。学院深深扎根于中国文化遗产和中医传统,强调教育的根本使命。多年来,学院培养了众多专业人才,包括中医按摩师、针灸师和高级中医从业者,为中医在卡尔加里和北美的发展做出了重要贡献,赢得了应有的声誉。`},mission:{title:"我们的使命",content:"我们的使命是为学生提供高质量、正宗的针灸和中医教育。我们努力保持与中国针灸和中医课程相当的教育标准。"},programs:{title:"课程设置",content:"CCTCMA提供的课程为学生提供了正宗的中医和针灸教育,旨在为学生参加世界各地的中医和针灸执业考试做准备。"},goal:{title:"我们的目标",content:"我们的目标是向学生传授中医和针灸的知识和技能,确保他们在未来能够在世界任何地方成功地进行实践。我们的教师团队受过高等教育,拥有针灸和中医的硕士和博士学位,他们有数十年的实践经验可以与CCTCMA学生分享。"},faculty:{title:"师资团队",subtitle:"帮助您实现成为真正治疗师的梦想",drFrankDu:{name:"Frank Du 博士",title:"院长兼教师"},drLuyangLiu:{name:"刘路扬 (Martin) 博士",title:"院长兼教师"},viewAllButton:"查看所有教师"},accreditation:{title:"认证情况",acupuncture:{title:"针灸文凭"},massage:{title:"2200小时按摩文凭"}},navigation:{title:"快速导航"},cta:{title:"准备好开始你的中医之旅了吗?",description:"立即申请我们的课程,开启你的中医学习之旅。",applyButton:"立即申请",contactButton:"联系我们"}}},page125:{presidents332:{hero:{title:"院长致辞",subtitle:"欢迎来到CCTCMA——加拿大顶尖针灸学院之一"},info:{name:"Frank H. Du 博士",title:"院长",credentials:"针灸师,应用科学硕士(澳大利亚),注册按摩师"},quote:'"欢迎来到CCTCMA,这是加拿大最好的针灸学院之一。自2003年以来,我们一直为学生提供优质的针灸培训。"',message:{paragraph1:"我们的针灸文凭课程为学生提供高质量的针灸教育,包括课堂学习和实践培训。这种综合性的教学方法使学生能够学习针灸、参加阿尔伯塔省针灸执业考试,并获得阿尔伯塔省针灸认证。我们的毕业生是自信的针灸和中医从业者,在加拿大和国际上执业。",paragraph2:"中医是一个独特而全面的医疗保健专业,涵盖针灸、中药学、中医按摩、气功和食疗。其巨大的实用价值已在中国和世界各地得到认可。我们学院提供优质、正宗的中医和针灸教育,为学生参加世界各地的中医和针灸执业考试做准备。",paragraph3:"我们的目标是向学生传授中医和针灸的知识和技能,使他们能够在未来的任何地方成功执业。请联系我们获取更多详细信息。",closing:"祝您在CCTCMA的学习一切顺利。"},signature:{name:"Frank H. Du 博士",title:"院长",institution:"卡尔加里中医针灸学院"},highlights:{excellence:{title:"自2003年以来的卓越",description:"二十年来提供优质的中医和针灸教育"},authentic:{title:"正宗教育",description:"与中国中医课程相当的标准"},global:{title:"全球执业",description:"毕业生在世界各地成功执业"}}}},page126:{faq332:{hero:{title:"常见问题",subtitle:"获取有关我们课程和入学流程的常见问题答案"},questions:{0:{question:"中医和针灸在阿尔伯塔省是否受到监管?",answer:{0:"目前,只有针灸在阿尔伯塔省受到监管并可获得执业许可。BC省还承认并为中医师提供执业许可。"}},1:{question:"你们是否提供在线或远程学习课程?为什么?",answer:{0:"从2022å¹´3月开始,由于阿尔伯塔省COVID疫情的情况,我们开始为理论课程提供面授和在线学习相结合的方式。这些政策将根据专业机构和阿尔伯塔省政府的公告进行更新。"}},2:{question:"你们是否获得认证,是否有资格获得学生经济援助ï¼
680Ÿ",answer:{0:"针灸文凭:",1:"• 获得阿尔伯塔省针灸师管理局批准。阿尔伯塔省针灸师管理局有权批准针灸教育项目。从这些项目获得文凭的个人满足针灸师专业法规第3(a)(1)和3(b)(1)条的要求。",2:"• 阿尔伯塔省高等教育(阿尔伯塔省学习):针灸文凭项目有资格获得阿尔伯塔省学生援助的全日制高等教育援助。",3:"• 卡尔加里中医针灸学院的指定学习机构编号(DLI#)是O111917070547。指定学习机构是经省或地区政府批准接收国际学生的学校。",4:"• 获得中国北京中医药大学认可。",5:"2200小时按摩文凭:",6:"• 获得NHPC(加拿大自然健康从业者)批准和认可",7:"• 卡尔加里中医针灸学院的指定学习机构编号(DLI#)是O111917070547。指定学习机构是经省或地区政府批准接收国际学生的学校。",8:"• 阿尔伯塔省高等教育:我们的按摩文凭项目有资格获得阿尔伯塔省学生援助的全日制高等教育援助。"}},3:{question:"与加拿大其他院校相比,选择CCTCMA针灸课程有哪些优势?",answer:{0:"我们的师资力量雄厚。大多数教师拥有针灸与中医硕士或博士学位,并在加拿大和中国拥有至少15年的中医和针灸临床与教学经验。",1:"我们的课程基于在澳大利亚、加拿大、美国和中国的针灸与中医教学经验研发而成。",2:"这些课程在北美已成功运行二十余年,在中国已开展约五十年。",3:"小班授课。",4:"提供学生贷款。",5:"我们为几乎每一门课程都配备了学院自编的学习指南,帮助学生更轻松地掌握中医与针灸知识。",6:"我们的校内诊所非常忙碌,因此为学生提供了大量针灸“动手实践”的机会。",7:"全日制学习,周一至周五,上午9点至下午5点。您将获得物有所值的系统训练。",8:"我们致力于在加拿大提供最高水平的中医与针灸教育与培训。",9:"学院位于卡尔加里中心地带,交通便利,公共交通可直达学院。"}}},contact:{title:"还有其他问题?",description:"我们的招生团队随时为您解答有关我们课程的任何其他问题。",phone:"电话:1-403-287-8688",email:"邮箱:[email protected]",address:"地址:107, 4014 Macleod Trail. South. Calgary, AB T2G 2R7"}}},page127:{faculty332:{hero:{title:"师资团队",subtitle:"帮助您实现成为真正治疗师的梦想"},mission:{title:"我们的使命",description:'"我们的使命是为学生提供高质量、正宗的中医和针灸教育,其标准和诚信度可与中国的中医和针灸课程相媲美。"'},faculty:{frankDu:{name:"杜桓斌",title:"校长兼创始人",credentials:"针灸师,注册按摩师",description:"杜桓斌是卡尔加里中医针灸学院(CCTCMA)的校长兼创始人。他致力于在北美推进中医教育,在东西方医学实践之间架起桥梁。凭借在加拿大、澳大利亚和中国超过三十年的中医和针灸教学和临床实践经验,杜桓斌已成为该领域备受尊敬的权威。"},marcRaedschelders:{name:"马克·雷德谢尔德斯博士",title:"资深教员",credentials:"针灸师,注册按摩治疗师",description:"马克·雷德谢尔德斯博士是CCTCMA备受尊敬的资深教员,在中医教育和实践方面拥有丰富经验。他将欧洲中医培训和在阿尔伯塔省监管要求方面的丰富经验带到他的教学工作中。"},andreaHejtmanek:{name:"安德里亚·海特马内克",title:"资深教员",credentials:"针灸师,注册按摩治疗师",description:"安德里亚·海特马内克是CCTCMA的杰出资深教员,在抗衰老医学和使用中医技术进行面部年轻化方面拥有专业技能。她将传统方法与现代美容应用相结合,提供全面的美容治疗。"},juanGuo:{name:"郭娟博士",title:"教员",credentials:"中医博士,注册针灸师",description:"郭娟博士是CCTCMA经验丰富的教员,在中医方面拥有广泛的临床和学术背景。她专门从事中医内科和中药方剂,特别是在治疗消化系统疾病方面。"},hungTran:{name:"陈雄博士",title:"资深教员",credentials:"针灸师,医学博士ï¼
680ˆè¶Šå—),工商管理硕士",description:"陈雄博士是CCTCMA经验丰富的兼职讲师,专门使用传统针灸技术进行疼痛管理。他在肌肉骨骼疾病和运动医学方面的专业知识使他在治疗运动损伤方面很有价值。"},luyangLiu:{name:"刘路阳(马丁)博士",title:"教学主任",credentials:"针灸师,注册按摩治疗师,针灸学博士",description:"刘路阳(马丁)博士是CCTCMA的专职教员,在中医和临床实践方面拥有丰富经验。他将中医理论和实际应用的全面知识带到他的教学中。"},erinTaylor:{name:"艾琳·泰勒",title:"教员",credentials:"针灸师",description:"艾琳·泰勒是CCTCMA的专职教员,在中医方面拥有丰富经验,特别专注于女性健康。她的专业知识包括使用中医方法进行生殖健康、生育支持和女性健康。"},allisonTrent:{name:"艾莉森·特伦特",title:"教员",credentials:"针灸师,注册按摩治疗师",description:"艾莉森·特伦特是CCTCMA的专职教员,在小儿中医和家庭健康方面拥有专业技能。她专注于对儿童和家庭安全有效的温和、适龄技术。"},antoninKodet:{name:"安东宁·科德特博士",title:"教员",credentials:"中医博士,注册针灸师",description:"安东宁·科德特博士是CCTCMA的专职教员,在中医理论方面有着坚实的基础和丰富的临床实践经验。他对中医原理的深刻理解使他成为医学理论方面的优秀教育者。"},zhichunZhang:{name:"张之春",title:"教员",credentials:"针灸师,注册按摩治疗师",description:"张之春是卡尔加里中医针灸学院的毕业生(2018届),自毕业以来一直在阿尔伯塔省作为注册针灸师从事中医和针灸实践。他专门从事中医骨科和肌肉骨骼康复,运用推拿按摩技术。"},jiawenCui:{name:"崔佳雯博士",title:"教员",credentials:"针灸师,注册按摩治疗师,综合医学博士",description:"崔佳雯博士是CCTCMA的技能娴熟的教员,在中医皮肤科和美容针灸方面拥有专业技能。她专注于使用中医原理进行皮肤健康和美容的自然方法。"},kevinClement:{name:"凯文·克莱门茨先生",title:"教员",credentials:"注册按摩治疗师",description:"凯文·克莱门茨是一位经验丰富的注册按摩治疗师和讲师,为CCTCMA按摩治疗项目带来实用的临床专业知识。他专门从事治疗性按摩和解剖学教育,为学生提供实践培训。"},muradEhsan:{name:"M. 穆拉德·埃桑博士",title:"教员",credentials:"医学博士,哲学硕士,注册按摩治疗师",description:"M. 穆拉德·埃桑博士是一位致力于医疗保健的专业人士,在多个国家的临床实践和学术教学方面拥有深厚的背景。埃桑博士于2001年获得巴基斯坦信德医学院医学博士学位,2003年开始在巴基斯坦哈姆达德大学担任基础健康科学讲师,同时在沙米姆诊所担任家庭医生。2006年,他移居中东,在阿夫拉杰综合三级医é
680™¢æ‹…任外科住院医师两年,在三级护理环境中精进临床专业技能。2008年回到巴基斯坦后,埃桑博士重新投入学术追求,在阿尔塔马什牙科医学院担任基础健康科学讲师,同时在南城医院担任急诊住院医师。2010年,他转到齐亚丁大学,继续传授基础健康科学知识。他对学术卓越的承诺在2013年完成齐亚丁大学药理学硕士学位时达到顶峰。为了追求更广阔的发展前景,埃桑博士于2013年移居加拿大。到2016年,他加入卡尔加里哥伦比亚学院,担任基础健康科学教师,为下一代医疗保健专业人士做出贡献。为了扩展临床技能,他于2020年获得卡尔加里ABM学院按摩治疗文凭。埃桑博士的职业生涯以对教育、临床服务和专业发展的坚定承诺为标志,足迹遍及巴基斯坦、中东和加拿大。他多元化的背景和奉献精神使他成为医疗保健和学术界的宝贵财富。"},lorenaBulcao:{name:"洛雷纳·布尔考博士",title:"教员",credentials:"针灸师,注册按摩治疗师",description:"<p>洛雷纳·布尔考是注册按摩治疗师(RMT)和针灸师,在治疗性身体工作和整体健康方面拥有超过25年经验。她以温和、以客户为中心的方式著称,善于制定个性化治疗方案,支持放松、缓解疼痛和整体健康。</p><p>其按摩治疗背景包括放松按摩、深层组织、瑞典式、肌筋膜释放、触发点疗法和淋巴引流。洛雷纳持有针灸文凭,并通过护理学习在解剖学、生理学和病理学方面接受过广泛培训。她曾在印度学习瑜伽疗法,并探索过灵气、泰式按摩等辅助疗法,这些进一步丰富了她综合、整体的护理方式。</p><p>目前,洛雷纳在一家多学科诊所执业,并在卡尔加里传统中医与针灸学院兼职任教,指导未来的按摩治疗师和针灸师。她还为长期客户维持小型家庭诊所。洛雷纳致力于帮助人们在康复与健康之旅中感到平衡、放松并获得支持。</p>"},marynaEvans:{name:"玛丽娜·埃文斯博士",title:"教员",credentials:"针灸师",description:"<p>玛丽娜·埃文斯博士是针灸师,在运动医学领域拥有超过17年经验,临床针灸实践超过十年。她的工作弥合了传统中医与现代运动及肌肉骨骼护理之间的鸿沟。</p><p><strong>进阶培训,真实成果</strong></p><p>埃文斯博士完成了针灸与运动医学方面的大量进阶培训,包括与全国知名的运动医学针灸领袖 Whitfield Reaves 的一对一专项培训。她曾在中国接受国际培训,并随无国界医生在缅甸获得实地经验,为临床实践带来难得的深度视角。</p><p><strong>患者和学生可以期待什么</strong></p><p>埃文斯博士以精准评估、个性化治疗计划和注重结果的治疗著称。其治疗可包括:</p><ul><li>针灸与电针</li><li>针对损伤、疼痛与康复的运动医学治疗</li><li>本草与植物医学</li><li>与现代医疗相辅相成的综合护理方案</li></ul><p>她曾成功治疗过多名高性能与耐力运动员,包括在彭蒂克顿多次铁人三项赛事的参赛者,并帮助数百名患者改善活动能力、从损伤中康复、重拾活动信心。</p><p><strong>以社区为中心,以患者为本</strong></p><p>在诊所之外,埃文斯博士深入参与社区工作,包括支持加拿大乌克兰难民的志愿服务以及在铁人三项赛事中为运动员提供现场支持。</p>"},guichaoWu:{name:"吴桂超",title:"教员",credentials:"针灸师,注册按摩治疗师",description:'吴桂超是CCTCMA的杰出教员,在中医内科和临床实践方面拥有丰富经验。他专门从事心血管健康和高级诊断方法,特别是脉诊和舌诊。吴博士还协调我们的<a href="https://www.acupunctureinternship.ca/" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline font-medium">学生实习项目</a>,提供宝贵的临床经验机会。'},yanlingZhao:{name:"赵燕玲博士",title:"教员",credentials:"针灸师,注册按摩治疗师",description:"<p>赵燕玲博士是注册按摩治疗师和针灸师,在按摩治疗与针灸领域拥有超过15年的临床经验。她将跨学科视角融入患者护理、教学和康复工作。</p><p>作为教育工作者,赵博士曾在北京中医药大学教授运动医学六年。移居加拿大后,她继续从事按摩治疗教学,并在卡尔加里传统中医与针灸学院任教。</p><p>
680她于2012年获得皇家山大学按摩治疗文凭。在职业生涯中,赵博士积累了评估与治疗运动损伤、肌肉骨骼疾病及康复需求的专业经验,并根据每位客户的具体情况采用综合治疗方法。</p><p>赵博士致力于帮助学生培养扎实的临床技能、严谨的批判性思维和专业自信。她结合实践知识与真实工作经验,为未来按摩治疗师开启成功且充实的职业生涯做好准备。</p><p>她将教学视为通过指导、实践学习和终身教育的理念,激励下一代医疗专业人士的宝贵机会。</p>"},serenaWu:{name:"吴雪莲",title:"教员",credentials:"针灸师,注册按摩治疗师",description:"吴雪莲是CCTCMA的杰出教员,在中医内科和中药方面拥有广泛的专业知识。她将中药配方及其临床应用的全面知识带到教学中。"},olivierBarre:{name:"奥利维尔·巴雷博士",title:"教员",credentials:"针灸师,生物化学/生物医学博士",description:"奥利维尔·巴雷博士是CCTCMA的杰出教员,在中医和综合医疗保健方法方面拥有广泛的国际经验。他的多元文化视角为中医教育和实践带来了宝贵的见解。"},ellenHuang:{name:"黄艾伦博士",title:"教员",credentials:"中医博士,注册针灸师",description:"黄艾伦博士是CCTCMA的专职教员,在女性健康和中医妇科方面拥有专业技能。她专注于生育支持、生殖健康,以及女性在不同生命阶段的健康。"},kaiCheng:{name:"程凯教授",title:"CCTCMA客座教授,北京中医药大学教授",credentials:"博士,北京中医药大学教授",description:"程凯教授是CCTCMA的杰出客座教授,拥有中医学博士学位,并担任北京中医药大学教授。他为我们的机构带来了前沿研究和先进的理论知识,专门从事耳穴诊断和临床研究方法。"},jessReynolds:{name:"杰斯·雷诺兹",title:"教员",credentials:"针灸师,注册按摩治疗师",description:"杰斯·雷诺兹是CCTCMA的技能娴熟的教员,在中医方面拥有广泛的临床经验,在诊断方法方面拥有特殊的专业知识。她对中医诊断的全面方法使她成为临床技能发展的宝贵教育者。"},joanBoux:{name:"琼·布克斯博士",title:"教员",credentials:"中医博士,注册针灸师",description:"琼(乔安妮)·布克斯博士是CCTCMA经验丰富的教员,在老年护理和与年龄相关的健康状况方面拥有专业技能。她专注于使用中医方法为老年患者提供富有同情心的护理。"},williamHan:{name:"韩威廉博士",title:"教员",credentials:"中医博士,注册针灸师",description:"韩威廉博士是CCTCMA的活跃教员,在运动医学和使用中医方法提高运动表现方面接受过专门培训。他在伤害预防和性能优化方面的专业知识使他在治疗运动员方面很有价值。"},minJungChoi:{name:"崔敏静博士",title:"教员",credentials:"中医博士,注册针灸师",description:"崔敏静博士是CCTCMA富有同情心的教员,在使用中医方法进行心理健康和情感健康方面接受过专门培训。她专注于通过整体中医方法进行压力管理、焦虑和抑郁治疗。"}}}},"page128.hiring332":{hero:{title:"招聘",subtitle:"加入我们在中医针灸教育领域的专业团队"},main:{title:"加入CCTCMA团队",description:"在CCTCMA,我们一直在寻找有才华、充满激情、经验丰富的专业人士加入我们的团队。"},looking:{title:"我们正在寻找:",description:"如果您具备以下资格并对教学充满热情,请发送您的简历或在线填写申请。"},faculty:{title:"教员职位",req1:"中医/针灸硕士或博士学位",req2:"至少15年工作经验",req3:"有教学经验者优先",req4:"对教育充满热情"},clinical:{title:"临床职位",req1:"持证执业者(注册针灸师、注册按摩治疗师、中医博士)",req2:"临床监督经验",req3:"致力于学生指导",req4:"专业发展心态"},apply:{title:"如何申请",step1:{title:"提交简历",description:"发送详细简历,突出您的经验和资格"},step2:{title:"在线申请",description:"填写我们的在线申请表,包含您的详细信息和偏好"}},contact:{title:"准备加入我们的团队了吗?",description:"我们很乐意听到与我们分享中医教育热情的合格专业人士的声音",email:"邮箱:[email protected]",phone:"电话:(403) 287-8688",address:"地址:107, 4014 Macleod Trail. South. Calgary, AB"},benefits:{excellence:{title:"教育卓越",description:"成为致力于中医教育最高标准团队的一员"},growth:{title:"专业成长",description:"持续学习和专业发展的机会"},collaborative:{title:"协作环境",description:"与经验丰富的专业人士在支持性氛围中工作"}}},"page129.jobListing332":{hero:{title:"职位列表",subtitle:"中医师、针灸师和按摩师的当前就业机会"},sections:{jobDescription:"职位描述",requirements:"职位要求",benefits:"福利与亮点",howToApply:"如何申请"},contact:{label:"联系方式:"},application:{instructions:"申请时请附上您的简历和求职信。"},jobs:{job0:{title:"注册针灸师",company:"Established Urgent Care Chiropractic",location:"📍 Sunridge Professional Centre, North East Calgary",type:"💼 兼职(COVID后全
680职)",postedDate:"发布时间:2021å¹´5月20日",description:"Established Urgent Care Chiropractic是一家位于卡尔加里东北部Sunridge专业中心的多学科诊所。我们正在寻找一位积极主动、专业且经验丰富的针灸师加入我们的团队。",requirements:{req0:"持有阿尔伯塔省针灸师管理局(CAA)有效注册且信誉良好",req1:"能够多任务处理并细心管理各种患者",req2:"提供道德和以患者为中心的护理,遵循所有协议和程序,提供循证护理",req3:"积极的态度",req4:"有效的驾驶执照"},benefits:{ben0:"协作工作环境",ben1:"多学科团队,包括按摩、脊椎按摩和针灸护理",ben2:"工作时间和薪资在录用时审核"},contact:"[email protected]"},job1:{title:"按摩治疗师",company:"iCare",location:"📍 卡尔加里,阿尔伯塔省",type:"💼 多个职位空缺",postedDate:"发布时间:2024å¹´6月21日",description:"iCare正在招聘合格的按摩治疗师加入我们不断壮大的团队。我们提供支持性的工作环境和专业成长机会。",requirements:{req0:"在阿尔伯塔省持有有效的RMT执照",req1:"专业责任保险",req2:"强大的沟通技巧",req3:"致力于患者护理卓越"},benefits:{ben0:"有竞争力的薪酬",ben1:"灵活的排班选择",ben2:"专业发展机会",ben3:"支持性团队环境"},contact:"通过CCTCMA联系获取更多信息"}},noJobs:{title:"目前无职位空缺",description:"我们目前没有空缺职位,但我们一直在寻找有才华的专业人士。",stayConnected:{title:"保持联系",description:"将您的简历发送给我们,我们会在有未来机会时考虑您。",email:"[email protected]"}},opportunities:{title:"寻找更多机会?",description:"CCTCMA毕业生在加拿大和国际上都受到雇主的高度追捧。",clinical:{title:"临床实践",description:"私人诊所和多学科健康中心"},education:{title:"教育",description:"在学院和大学的教学职位"},entrepreneurship:{title:"创业",description:"开办您自己的诊所或健康中心"}}},"page130.photoGallery332":{hero:{title:"照片画廊",subtitle:"通过我们的照片集了解CCTCMA的生活,展示我们的设施、学生和社区"},filter:{all:"全部",teaching:"教学",studentLife:"学生生活",graduation:"毕业典礼",socialActivities:"社交活动",communityService:"社区服务",internationalPrograms:"国际项目",communityEvents:"社区活动",campus:"校园",studentClinic:"诊所"},comingSoon:{title:"更多照片即将推出!",description:"我们持续更新照片画廊,添加我们设施、活动和学生活动的新图片。请定期查看最新添加的内容。"},preview:{campusLife:{title:"校园生活",description:"日常活动和学生互动"},specialEvents:{title:"特殊活动",description:"毕业典礼、仪式和庆祝活动"},clinicalPractice:{title:"临床实践",description:"诊所中的学生"}}},"page1200.application":{hero:{title:"在线申请",subtitle:"下载申请表格并提交您填写完成的表格"},tabs:{download:"下载表格",upload:"上传已完成表格",online:"CCTCMA新生申请表"},download:{title:"下载申请表格",description:"下载申请表格并提交您填写完成的表格:",pdf:{title:"PDF格式",description:"下载PDF版本以数字方式填写或打印并手工完成。",buttonText:"点击此处下载.pdf"},word:{title:"Word格式",description:"下载Word文档版本,便于编辑和完成。",buttonText:"点击此处下载.docx"}},upload:{title:"提交新生申请表(扫描版)",instructions:{title:"说明",text:"如果您已下载新生申请表并填写完成,请将其扫描并保存为pdf或jpg文件。您可以通过在此处上传扫描的申请表在线提交申请。"},form:{page1Label:"上传已填写的申请表:第1页 *",page2Label:"上传已填写的申请表:第2页 *",page3Label:"上传已填写的申请表:第3页 *",emailLabel:"电子邮箱",submitButton:"提交申请",submittingButton:"提交中..."}},online:{instructions:{title:"说明",collegeInfo:{name:"卡尔加里中医学院 (CCTCMA)",address1:"107, 4014 Macleod Trail. South.",address2:"Calgary, Alberta, Canada T2G 2R7",website:"网站:www.cctcma.com",formTitle:"入学申请表"},description:"已完成的申请将持续审核,以便九月份入学。由于班级人数有限,强烈建议申请人尽早提交申请材料。如果您在申请过程中需要任何帮助,请联系CCTCMA。"},programSelection:{title:"专业选择",label:"我申请 *",acupuncture:"三年制针灸文凭课程",massage:"2200小时注册按摩治疗师(RMT)文凭课程",tcm:"四年制中医文凭课程",studyMode:{title:"学习模式",fullTime:"全日制",partTime:"非全日制"}},personalInfo:{title:"个人信息",lastName:"姓 *",firstName:"名 *",middleName:"中间名首字母",dateOfBirth:"出生日期 *",gender:{title:"性别 *",female:"女",male:"男"}},addressInfo:{title:"地址信息",permanentAddress:"申请人永久地址 *",apartment:"公寓、套房等",country:"国家",selectCountry:"选择国家",city:"城市",state:"省/州",zipCode:"邮政编码"},contactInfo:{title:"联系信息",phoneHome:"电话(家庭) *",phoneWork:"电话(工作)",phoneCell:"电话(手机)",preferredContact:{title:"首选联系电话 *",description:"您希望学校用来联系您的电话号码。",homePhone:"家庭电话",workPhone:"工作电话",cellPhone:"手机"},citizenship:{title:"公民身份 *",canadian:"加拿大公民",permanentResident:"加拿大永久居民",other:"其他"},email:"电子邮箱 *"},educationHistory:{title:"教育经历",instructions:{title:"说明",text:"请在下面的空间列出高中及以上学历院校名称和所获学历学位。"},institution1:{title:"院校1 *",name:"院校名称 *",level:"获得学位 *",dateFrom:"开始日期 *",dateTo:"结束日期 *"}
680,institution2:{title:"院校2",name:"院校名称",level:"获得学位",dateFrom:"开始日期",dateTo:"结束日期"},institution3:{title:"院校3",name:"院校名称",level:"获得学位",dateFrom:"开始日期",dateTo:"结束日期"},additionalEducation:{title:"额外教育信息",description:"如果您获得了更多的高中及以上学校和相关学历单位,请使用以下区域提供额外信息。请注明院校名称和地址、就读日期和获得的学位。"}},backgroundInfo:{title:"背景信息",crimeConviction:{question:"您是否曾被判定犯罪? *",yes:"是",no:"否",details:"如果是,请提供详细描述"},contagiousDiseases:{question:"在过去五(5)年中,您是否曾被诊断患有任何传染性疾病或严重威胁生命的疾病? *",yes:"是",no:"否",details:"如果是,请提供详细描述"},attestation:{question:"我在此证明本申请中提供的所有信息都是真实的。 *",yes:"是",no:"否"}},applicationProcess:{title:"注意事项",stepOne:{title:"第一步:提交您完整的已签署申请包",description:"将您完整的申请包提交至:卡尔加里中医学院 107, 4014 Macleod Trail. South, Calgary, Alberta, Canada T2G 2R7",checklistTitle:"完整申请包清单:",items:["已完成并签署的申请表(表格可从我们学校网站下载)。","所有申请必须附有不可退还的申请费200.00加元(国际学生500.00加元),支付给卡尔加里东方健康有限公司。","所有正式成绩单副本。","所有文凭、证书和/或学位副本。","一(1)张近期照片。","两(2)份书面推荐信。","一份最新简历,","一封表达追求此培训原因的个人信件,以及","政府签发的带照片的身份证件副本。"]},stepTwo:{title:"第二步:录取和学费押金",items:["申请人可能会被联系安排面对面或电话面试。","录取通知书和阿尔伯塔省学生入学合同将通过邮件、电子邮件或亲自交付给未来的学生。","已签署的阿尔伯塔省学生入学合同必须在10个工作日内退回给卡尔加里中医学院。","本申请中的所有材料将成为您在CCTCMA永久、机密记录的一部分;它们将不会被退回,以及","强烈建议申请人通过我们学院网站和/或信息包熟悉当前的课程和政策信息。"]}},form:{submitButton:"提交",submittingButton:"提交中..."}},messages:{successTitle:"申请提交成功!",successMessage:"感谢您的申请。我们将审核您的提交并在2-3个工作日内联系您。",submitAnother:"提交另一份申请",submissionError:"提交申请失败。请重试。",emailRequired:"请填写电子邮箱",filesRequired:"请上传所有三个申请表格页面"}},page190:{fees332:{hero:{title:"学费与费用",subtitle:"您的中医教育的官方学费标准和经济援助选择"},official:{title:"学费与费用",subtitle:"CCTCMA项目学费摘要如下:"},table:{headers:{program:"学生类型",acupuncture:"针灸项目",massage:"2200小时按摩治疗项目",dtcm:"TCM项目"},rows:{canadian:{label:"加拿大学生",acupuncture:"每年$9,900,共三年",massage:"每年$9,900,共两年",dtcm:"每年$9,900,共四年"},international:{label:"国际学生",acupuncture:"每年$11,500,共三年",massage:"每年$11,500,共两年",dtcm:"不适用"}}},importantInfo:{title:"重要信息",tuitionPolicy:{title:"学费政策",items:["入学后学费不会增加","学费收取和退款政策参照标准阿尔伯塔省学生入学合同","退款只会处理给最初支付学费的实体/地点"]},partTimeOptions:{title:"兼读制选择",items:["兼读制学生按学分付费,每学分450.00加元","国际学生不能选择兼读制项目"]}},additionalCosts:{title:"额外费用",description:"学习指南和教学材料:所有项目每年费用约1000加元。学习指南需要从学校购买。中医和针灸的其他参考资料可由学生自费从其他来源购买。"},financialAid:{title:"经济援助",description:"符合条件的加拿大学生可通过联邦和省学生贷款项目获得经济援助。",availableSupport:{title:"可用支持:",items:["联邦学生贷款项目","省学生贷款项目","付款计划和咨询","经济援助咨询"]},nextSteps:{title:"下一步:",items:["联系我们的行政办公室","讨论您的学生贷款状况","申请可用项目","制定财务计划"]},importantNote:"重要提示:希望获得经济援助的学生可以与我们的行政办公室讨论他们的学生贷款状况。我们的工作人员可以帮助指导您完成申请过程并探索所有可用选择。",contactButton:"联系行政办公室"}}},page191:{whyChoose332:{hero:{title:"为什么选择CCTCMA",subtitle:"了解是什么让我们成为加拿大顶尖的针灸和中医学校之一"},reasons:{0:{title:"实践学习",description:"临床实践和实践学习是我们所有项目的关键组成部分。"},1:{title:"经验丰富的导师",description:"我们的导师拥有数十年的教学经验,在加拿大和国际上都有丰富的教学背景。"},2:{title:"国际化经验",description:"我们的教职员工由来自世界各地训练有素、经验丰富的专业人士组成。"}},mission:{title:"我们的使命",statement:"我们的使命是为学生提供高质量、正宗的针灸和中医教育。我们努力保持与中国针灸和中医项目相当的教育标准。"},advisory:{title:"咨询委员会",member:{0:{name:"Dr. Marc Raedschelders",credentials:"DTCM, R. Ac., Dipl. Ac. (NCCAOM), ADS (NADA)"}
680,1:{name:"Dr. Huiying Wang",credentials:`医学博士(中国),中医博士(中国)
681北京中医药大学附属教学医院院长`}},drWang:{modal:{name:"Dr. Huiying Wang",title:"咨询委员会成员",hospital:"北京中医药大学附属教学医院院长",bio:`王慧英博士是传统中医领域的杰出权威,其职业生涯涵盖临床实践、学术领导和医学教育。王博士于1988年从著名的北京中医药大学(BUCM)获得医学博士和中医博士学位,为现代医学和传统医学奠定了坚实的基础。
682
683在几十年的职业生涯中,王博士担任北京针灸医院院长,该医院是北京中医药大学附属教学医院。在此职位上,王博士展现了卓越的领导力,引导该机构成为针灸和中医卓越中心。其管理确保医院始终处于综合医学的前沿,将传统技术与现代创新相结合。
684
685凭借丰富的临床实践经验,王博士以其在针灸和各种中医疗法方面的专业知识而闻名,治疗各种疾病并赢得了无数患者的信任。其临床敏锐度与深度参与医疗管理、研究和专业组织相得益彰,王博士继续影响政策并为优质护理和道德实践设定基准。
686
687在其杰出的职业生涯中,王慧英博士因其在中医实践、教育和医院管理方面的卓越贡献而受到认可。王博士的工作不仅维护了中医的丰富传统,也为该领域的未来创新和卓越发展提供了灵感。`}}},accreditation:{title:"认证",programs:[{program:"针灸文凭",details:["由私立职业培训机构署(PCTIA)认证","获得阿尔伯塔省针灸师管理局(CAA)认可","符合在阿尔伯塔省注册为注册针灸师的要求","课程获得监管机构批准"]},{program:"按摩治疗文凭",details:["由私立职业培训机构署(PCTIA)认证","获得加拿大按摩治疗师联盟认可","符合在阿尔伯塔省注册为注册按摩治疗师的要求","2200小时综合项目"]}]},testimonials:{title:"我们的教师 - 帮助您实现成为真正治疗师的梦想",0:{name:"Kun Li",text:"我叫Kun Li。 我在卡尔加里中医与针灸学院学习了3年。在我第二年学习时,我在监督下开始了临床实习。当患者在我治疗后说感觉好多了时,我简直不敢相信。我以为他们只是对我很客气,直到他们把自己的母亲和朋友也带来找我看病。我既开心也感到有压力。在实习期间,我治疗了很多患者,也从他们身上学到了很多。当我的治疗没有效果时,我会不断深入研究,我享受这个过程。这就是中医带给我的生活。我真的很喜欢它。我很遗憾没有更早学习中医,否则,也许我现在已经是著名的中医医生之一了,哈哈......"},1:{name:"Ying Li",text:"我在卡尔加里中医学院的时光充满挑战与持续成长。课程内容深入且具有挑战性,但授课老师知识渊博、平易近人并且非常支持我们。杜博士和所有老师总是努力激发我们学生的最大潜力,帮助我们实现目标。作为同学,我们互相支持,经常一起学习,帮助彼此理解难点。现在我期待进入专业临床实践,通过中医这一拥有2500多年历史的智慧去帮助他人!我亲眼见证了中医、推拿、针灸与中草药的力量,并渴望将我所学分享给需要帮助的人,同时我也为中医所带来的持续成长与个人成就感而感到兴奋。"},2:{name:"Sebastien",text:"我叫Sebastien,2015年春天我前往中国北京,在中日友好医院进行了6周的实习。首先,这次经历绝对是非常积极的。我结识了很多朋友,他们在杜博士和王培带我们初步游览之后,帮助我熟悉这座城市。直到现在我仍与很多人保持联系。北京的路标有大量拼音和英文,非常有帮助。使用地铁和地图出行相当容易。中国人非常友好,只要开口求助,他们都会尽力帮忙。医院的医生总体上非常好、非常开放,和他们成为朋友、帮助他们也很重要。我能进行观察,并且有足够的时间学习和æ
687å‡ºè®¸å¤šé—®é¢˜ã€‚他们乐于助人,有些需要更多的引导,但他们都愿意尽其所能帮助我。我和他们进行了很多一对一的交流,讨论中医、他们治疗疾病的经验、他们的学习过程等等。虽然有一段时间我有一位很好的翻译,但我发现直接和那些英语较好的医生交流更好。这次旅行非常宝贵,让我与许多优秀的中医从业者建立了联系,也让我在不同的语境和方式中亲身体验了中医。我绝对会推荐这段经历。"},3:{name:"Max Sielsky",text:"尊敬的杜博士:非常感谢我在贵校获得的美好学习体验。我必须说,您与所有授课老师(包括您本人)都以一种能够增强每位学生(无论年轻或年长)能力的方式进行教学。所有老师都带来了大量源于自身临床经验与知识的信息。每位老师都关心学生。他们的言行举止营造出和谐与宁静的氛围,塑造了极佳的学习环境。这一点非常重要,因为针灸并不是一门容易学习的专业。我不仅完成了针灸的所有要求,也更加深刻地学会如何成为一名更好的临床从业者。每位老师都有自己独特的授课风格。所有老师,包括您本人,都提供了出色的课件与讲解,并以一种有趣且更易理解的方式教授内容,从而促进了强有力的临床应用能力。您、您的夫人玲以及所有工作人员都热情、友好,并始终乐于为学生与同事服务。令我印象最深刻的其中一点,是课堂教学与临床时数的时间安排与执行能很好地服务于每位学生及其所在年级的学习需要。包括课堂、临床以及学院日程在内的所有时间安排总是能及时发送给大家,这也让我能轻松安排回美国的机票与个人时间。我期待完成贵校提供的中医博士第四年的学习。我认为您与您的夫人玲是我所遇到过的最优秀的人之一。感谢您对中医的热爱与奉献、渊博的知识、推动这一领域发展的才能,以及我在贵校所获得的美好经历。我已经学到了许多新的而令人兴奋的方法来帮助他人,这让我感到非常激动。感谢您与您的夫人玲一直不遗余力地确保每位学生不仅进度正常且能取得成功……谨致谢意与诚挚问候。"},4:{name:"Nonglux MacDonald",text:"自从我第一次走进学校咨询项目时,我就印象深刻。我立刻感受到学校的工作人员是真心在帮助学生的。他们的动力是培养优秀的健康从业者,而非追求利润。在这所学校度过的三年时光几乎每天都在强化我最初的感受。杜博士是一位了不起的医生与教师,杜博士与他的夫人玲对他们的事业以及对学生的关心令人赞叹。他们一直是我的灵感来源。我只能梦想自己有朝一日能够追随他们的脚步。所有老师对我来说都堪称导师。我在很短时间里从他们身上学到了很多。他们扎实的教学与令人安心的方式让我变得非常自信,相信自己可以成为一名优秀的中医执业者,以至于我几乎都认不出从前的自己。虽然这是三年的高强度学习,但时间过得很快,而且一路上我也收获了很多乐趣。由于课程采用清晰的循序渐进的方式教授,我从未感到力不从心。对于任何考虑就读这所学校的人,我会给出最高的推荐。这里的人们以及他们教授的课程以最积极的方式改变了我的人生。你一定不会失望。"}},videos:{title:"学生体验",description:"观看我们的学生和毕业生分享他们在CCTCMA学习旅程中的经历和成功故事。"}}},page6046:{hero:{title:"咨询委员会",subtitle:"认识我们杰出的咨询委员会成员,他们提供指导和专业知识,确保传统中医教育的最高标准"},members:{marcRaedschelders:{name:"Marc Raedschelders 博士",title:"咨询委员会成员",credentials:"针灸师,注册按摩治疗师",description:"Marc Raedschelders 博士是CCTCMA备受尊敬的高级教职人员,在传统中医教育和实践方面拥有丰富经验。他将欧洲中医培训和阿尔伯塔省监ç®
687¡è¦æ±‚的丰富经验带入教学角色。",readMore:"阅读更多 →",readLess:"收起 ↑"},huiyinWang:{name:"王慧英博士",title:"咨询委员会成员",credentials:`医学博士(中国),中医博士(中国),
688北京中医药大学附属教学医院院长`,description:`王慧英博士是传统中医领域的杰出权威,其职业生涯涵盖临床实践、学术领导和医学教育。王博士于1988年从著名的北京中医药大学(BUCM)获得医学博士和中医博士学位,为现代医学和传统医学奠定了坚实的基础。
689
690在几十年的职业生涯中,王博士担任北京针灸医院院长,该医院是北京中医药大学附属教学医院。在此职位上,王博士展现了卓越的领导力,引导该机构成为针灸和中医卓越中心。其管理确保医院始终处于综合医学的前沿,将传统技术与现代创新相结合。
691
692凭借丰富的临床实践经验,王博士以其在针灸和各种中医疗法方面的专业知识而闻名,治疗各种疾病并赢得了无数患者的信任。其临床敏锐度与深度参与医疗管理、研究和专业组织相得益彰,王博士继续影响政策并为优质护理和道德实践设定基准。
693
694在其杰出的职业生涯中,王慧英博士因其在中医实践、教育和医院管理方面的卓越贡献而受到认可。王博士的工作不仅维护了中医的丰富传统,也为该领域的未来创新和卓越发展提供了灵感。`,readMore:"阅读更多 →",readLess:"收起 ↑"},ronaldChui:{name:"崔罗纳德",title:"咨询委员会成员",credentials:"CIM,FCSI",description:"作为在金融服务行业拥有20年经验的投资组合经理,罗纳德专门为个人和机构客户创建战略驱动的财务和投资计划。他是崔咨询集团的负责人,管理超过3亿加元的资产。他是加拿大证券研究所的会员和特许投资经理。",readMore:"阅读更多 →",readLess:"收起 ↑",bio:`崔罗纳德,CIM,FCSI,是崔咨询集团CIBC私人财富Wood Gundy的高级投资顾问和投资组合经理。在金融服务行业拥有超过二十年的经验,罗纳德已成为专门为高净值个人和家庭提供综合财富管理策略的值得信赖的顾问。
695
696他作为CCTCMA咨询委员会成员的角色为我们的机构带来了宝贵的商业敏锐度和战略规划专业知识。罗纳德在金融服务和投资管理方面的背景为组织发展、战略规划和业务运营提供了独特的见解,这些见解补充了我们的教育使命。
697
698通过他的咨询角色,罗纳德为CCTCMA的长期战略规划做出贡献,帮助确保机构的财务可持续性和增长,同时保持我们对传统中医教育卓越性的承诺。他在财富管理和财务规划方面的专业知识为我们的咨询委员会多样化专业知识增添了宝贵的商业视角。`}},actions:{addMember:"添加咨询委员会成员",deleteConfirm:"您确定要删除这个咨询委员会成员吗?",newMember:"新咨询委员会成员",defaultTitle:"咨询委员会成员",defaultCredentials:"DTCM,R.Ac.",defaultDescription:"点击编辑描述"}},page6045:{title:"国际学生",subtitle:"欢迎来到卡尔加里中医学院",dli:{title:"指定学习机构 (DLI)",number:"DLI#: O111917070547"},sections:{introduction:{title:"1. 简介",content:`根据加拿大移民、难民和公民部(IRCC)现行指导方针,从阿尔伯塔省私立职业学院获得许可项目毕业的国际学生不符合毕业后工作许可(PGWP)的资格。
699
700CCTCMA欢迎所有国际学生的申请。基于省份居住地或公民身份没有入学限制。
701
702以下项目是指定学习项目,有资格接收持有学习许可的外国人:
703
704• 针灸文凭项目
705
706• 2200小时按摩治疗项目`},admission:{title:"2. 入学",generalRequirements:{title:"一般入学要求",content:`CCTCMA接受针灸文凭项目和2200小时按摩治疗项目的申请,申请人必须满足以下所有条件:
707
708• 对中医或针灸有真诚的兴趣
709
710• 至少十八(18)岁
711
712• 已完成阿尔伯塔省高中教育或同等学历,12年级英语、12年级数学和12年级科学平均成绩达到60%或以上
713
714• 高中毕业至少两年或成功完成一年的高等教育(需提供成绩单证明)
715
716• 对于第一语言不是英语的申请人,需要提供托福560/220或雅思5.0考试的成功成绩证明。详情请参阅英语语言能力要求
717
718• 通过学院的面试`},massageRequirements:{title:"2200小时按摩文凭项目入学要求",standard:{title:"标准入学:",content:`学生必须满足以下条件:
719
720• 必须至少18岁
721
722• 阿尔伯塔省高中文凭,需提供正式成绩单证明,或非阿尔伯塔省同等学历
723
724• 与学校行政部门的成功面试,由学校决定
725
726• 英语口语和写作能力,由学校决定。详情请参阅英语语言能力文件`},mature:{title:"成人入学:",content:`• 必须至少19岁
727
728• 与学校行政部门的成功面试,由学校决定
729
730• 高等教育或其他教育经验可能被考虑用于高级学分,由学校决定
731
732• 英语口语和写作能力,由学校决定。详情请参阅英语语言能力要求`}}},procedure:{title:"3. 程序",content:`准国际学生提交申请包,并支付500.00加元的申请费。
733
734在14天内,CCTCMA审查申请包,并通过电子邮件或电话通知准学生是否缺少任何文件。
735
736在一个月内,CCTCMA向学生邮寄录取通知书,学生开始申请学生签证、医疗保险以及相关旅行文件。
737
738学校每年9月的第一周开学。
739
740注意:申请费不予退还。CCTCMA建议准学生尽快申请学生签证。`},credentialAssessment:{title:"4. 学历评估和认可标准",content:"来自其他国家的申请人必须首先完成教育学历评估,并将完成的评估副本以及文凭和成绩单副本发送至[email protected]。由WES(世界教育服务)或ICAS(国际学历评估服务)进行的教育学历评估是可接受的。"},academicPolicies:{title:"5. 国际学生学术政策",evaluation:{title:"学术评估政策",content:"考试是评估教师和学生成就的重要工具。考试评估学生的知识水平和理解程度,同时也评估教师教学方法的有效性。在CCTCMA的大多数课程中,书面和实践考试用于评估学生的知识。书面和实践考试的权重将根据每门课程的要求设置。出勤率、课堂讨论参与度和实习表现也将用作评估学生学术表现的工具。"},withdrawal:{title:"退学政策",content:"所有国际学生都应按照学院政策、标准、程序和规定正确行事。"},appeal:{title:"学术申诉政策",content:`CCTCMA学术申诉政策的基本原则如下:
741
742• 对所有各方都将公平对待
743
744• 学术决定应尽可能在学术专业水平上做出
745
746• 最终成绩申诉仅基于学生作业的学术价值
747
748• 学生在与教师协商后必须有一次额外机会审查最终成绩作业
749
750• 本着合作精神,学生不得聘请法律顾问代表`}},supportServices:{title:"6. 国际学生支持和服务",campusServices:{title:"校园国际学生服务",content:`国际学生服务(ISS)是国际学生的主要支持来源,也是CCTCMA具有跨文化兴趣学生的聚集地。ISS提供以下服务:
751
752接待和指导 – 新的国际学生欢迎在8月和9月向ISS注册,以获得关于适应新环境的重要信息,如文化调整和适应。
753
754以下服务是一些例子:
755
756• 新国际学生指导
757
758• 推荐卡尔加里的住宿和交通
759
760• 为新来者介绍加拿大的银行系统
761
762• CCTCMA提供的服务`,services:{advising:"国际学生咨询办公室 – 在这里您可以找到各种问题的支持,如学术咨询、学习期间工作、移民、就业和适应加拿大生活。",counseling:"跨文化咨询 – 我们的跨文化咨询师为CCTCMA学生提供文化敏感的咨询,涉及个人问题。欢迎讨论从家庭问题到抑郁到自尊的任何事情。",events:"社交和文化活动 – ISS通过举办文化和社交活动,如主题晚宴、聚会、实地考察和旅游,为学生提供加拿大和世界文化的体验。"}},communitySupport:{title:"社区可用支持",content:`我们致力于为CCTCMA的国际学生提供以下服务:
763
764• 来自行政团队
765
766• 来自CCTCMA的国际学生顾问
767
768• 来自CCTCMA的国际学生办公室
769
770还有其他可用支持:
771
772• 卡尔加里市
773
774• 新来者中心
775
776• 当地社区`},immigration:{title:"移民和学习期间工作",content:`国际学生服务(ISS)向在CCTCMA学习的国际学生提供有关移民文件(即学习许可)的信息。
777
778请注意,ISS不能就此类移民事务向您提供建议或代表您行事。我们的网站提供<a href="https://www.canada.ca/en/immigration-refugees-citizenship.html" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">加拿大公民和移民部</a>的链接,那里有完整的信息、申请表和说明。
779
780寻求移民加拿大信息的国际学生可以查看<a href="https://www.canada.ca/en/immigration-refugees-citizenship.html" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">加拿大公民和移民部网站</a>。`}},healthSupport:{title:"7. 国际学生健康支持",content:'卡尔加里中医学院(CCTCMA)的所有国际学生都有资格参加<a href="https://www.alberta.ca/ahcip?utm_source=chatgpt.com" target="_blank" rel="noopener noreferrer" class="text-primary-600 hover:text-primary-700 underline">阿尔伯塔省健康保险计划(AHCIP)</a>,我们强烈鼓励国际学生购买AHCIP未涵盖的充分保险。CCTCMA学院诊所还为我们所有学生提供每年最多10次的免费针灸治疗,由我们的实习生在监督下进行。'},academicSupport:{title:"8. 国际学生学术支持",content:`CCTCMA致力于保持高标准并鼓励您的学术成功。学术地位适用于CCTCMA的所有项目,与学生有资格在CCTCMA针灸文凭项目内注册课程相关。
781
782如果您遇到学术困难,我们鼓励您尽快与您的学术é
782¡¾é—®ä¼šé¢ã€‚您越早获得帮助,就越容易获得帮助。`},complaintProcess:{title:"9. 学生投诉和争议解决程序",content:"我们建议学生始终尝试非正式地解决问题。如果需要正式方法,CCTCMA提供公平合理的解决程序。"}},quickLinks:{title:"快速链接",admissionRequirements:"入学要求",onlineApplication:"在线申请",tuitionFees:"学费与费用",contactUs:"联系我们"},advisors:{title:"国际学生顾问",drDu:{name:"杜柏斌(Frank)校长",email:"邮箱:[email protected]",tel:"电话:(+1) 403-287-8688"},msLuo:{name:"罗琳女士",email:"邮箱:[email protected]",tel:"电话:(+1) 403-287-8688"}},officeHours:{title:"办公时间",schedule:"周一至周五",time:"上午9:00 - 下午5:00",timezone:"当地时间(山地时间)"},cta:{title:"准备开始您的旅程?",subtitle:"加入我们的国际社区,在卡尔加里开始您的中医教育。",applyNow:"立即申请",contactUs:"联系我们"}},courses:{titles:{"the-foundation-of-tcm":"中医基础理论","chinese-acupuncture-1":"中医针灸(1)","anatomy-and-physiology-1":"解剖学与生理学(1)","medical-terminology":"医学术语","chinese-language-and-history-of-tcm":"中文与中医史","tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique":"中医与针灸法规、伦理、沟通技巧及无菌针刺技术","diagnosis-of-tcm":"中医诊断学","chinese-acupuncture-2":"中医针灸(2)","chinese-herbology":"中药学","anatomy-and-physiology-2":"解剖学与生理学(2)","chinese-acupuncture-3":"中医针灸(3)","chinese-herbal-formulas":"中药方剂学","massage-1":"按摩(1)","pathology-and-microbiology-1":"病理学与微生物学(1)","western-medical-diagnosis":"西医诊断学","clinical-practicum-1":"临床实习(1)","chinese-acupuncture-4":"中医针灸(4)","internal-medicine":"内科学","massage-2":"按摩(2)","dietary-therapy":"食疗学","pathology-and-microbiology-2":"病理学与微生物学(2)","western-pharmacology":"西药学","clinical-practicum-2":"临床实习(2)","chinese-acupuncture-5":"中医针灸(5)","tcm-sports-medicine":"中医运动医学","case-studies-1":"病案分析(1)",pediatrics:"儿科学","tcm-classics-1":"中医经典(1)","clinical-practicum-3":"临床实习(3)","chinese-acupuncture-6":"中医针灸(6)","tcm-external-dermatology":"中医外科皮肤科","tcm-gynecology":"中医妇科学","tcm-classic-2-jin-gui-yao-lue":"中医经典(2)-金匮要略","introduction-to-business-management":"企业管理概论","case-studies-2":"病案分析(2)","safety-jurisprudence":"安全法理学","clinical-practicum-4":"临床实习(4)","tcm-classics-huang-di-nei-jing-su-wen-and-wen-bing-xue":"中医经典-黄帝内经素问与温病学","tcm-psychology":"中医心理学","advanced-acupuncture-and-tcm":"高级针灸与中医","botanical-pharmacology":"植物药理学","tcm-preventive-medicine":"中医预防医学","western-internal-medicine":"西医内科学","clinical-practicum-5":"临床实习(5)","clinical-practicum-6":"临床实习(6)","mt-101-medical-terminology":"医学术语","mt-102-anatomy-and-physiology":"解剖学与生理学","mt-201-musculoskeletal-anatomy":"肌肉骨骼解剖学","mt-202-neuroanatomy":"神经解剖学","mt-104-massage-theory-and-practice-1":"按摩理论与实践1","mt-105-ethics-and-communications":"职业道德与沟通","mt-107-business-skills":"商业技能","mt-109-massage-theory-and-practice-2":"按摩理论与实践2","mt-110-massage-clinical-practicum-1":"按摩临床实习1","mt-106-pathology":"病理学","mt-108-physical-diagnosis-case-history-taking-2":"物理诊断与病史采集2","mt-203-massage-theory-and-practice-3-joint-mobilizations":"按摩理论与实践3-关节松动术","mt-204-massage-theory-and-practice-4-treatment-of-head-neck-and-back":"按摩理论与实践4-头颈背部治疗","mt-210-massage-clinical-practicum-2":"按摩临床实习2","mt-205-orthopedic-physical-diagnosis-sport-injury":"骨科物理诊断与运动损伤","mt-206-introduction-to-internal-medicine-and-surgery":"内科学与外科学概论","mt-207-massage-theory-and-practice-5-treatment-of-upper-and-lower-extremities":"按摩理论与实践5-上下肢治疗","mt-208-massage-theory-and-practice-6-sport-massage":"按摩理论与实践6-运动按摩","mt-211-massage-clinical-practicum-3":"按摩临床实习3"}}}}},gx=()=>typeof window<"u"&&localStorage.getItem("cctcma-language")||"en",Rr=_e.createInstance();Rr.use(ny).init({resources:hx,lng:gx(),fallbackLng:"en",returnEmptyString:!1,interpolation:{escapeValue:!1}});Rr.on("languageChanged",e=>{typeof window<"u"&&localStorage.setItem("cctcma-language",e)});function Y(e,n){const i=Rr.t.bind(Rr)(e,{defaultValue:n});return!i||i.trim().length===0||i===e?n:i}const fx=[{key:"acupuncture",src:"/images/subpage_images_carousel/Acupuncture.png"},{key:"acupuncture_treatment",src:"/images/subpage_images_carousel/acupuncture treatment.png"},{key:"cupping",src:"/images/subpage_images_carousel/cupping.png"},{key:"doctor",src:"/images/subpage_images_carousel/doctor.png"},{key:"experienced_instructor",src:"/images/subpage_images_carousel/experienced instructor.png"},{key:"massage_study",src:"/images/subpage_images_carousel/massage study.png"},{key:"ready_to_join",src:"/images/subpage_images_carousel/Ready to Join Our Team.png"},{key:"receptionist",src:"/images/subpage_images_carousel/receptionist.png"},{key:"slide2_background",src:"/images/subpage_images_carousel/Slide 2 background.png"},{key:"study_acupuncture",src:"/images/subpage_images_carousel/study acupuncture.png"},{key:"swedish_massage_photo3",src:"/images/subpage_images_carousel/Swedish massage photo 3.png"},{key:"swedish_massage",src:"/images/subpage_images_carousel/Swedish massage.png"},{key:"tcm_diagnosis",src:"/images/subpage_images_carousel/TCM Diagnosis.png"},{key:"tcm_study",src:"/images/subpage_images_carousel/TCM study.png"},{key:"teaching_staff",src:"/images/subpage_images_carousel/teaching staff.png"}];function yx({className:e="",images:n=fx}){const a=n.filter(C=>
782C.src&&C.key),i=()=>a.length===0?0:Math.floor(Math.random()*a.length),[r,s]=w.useState(i),[o,c]=w.useState(!1),[l,d]=w.useState(new Array(n.length).fill(!1)),p=w.useRef(null),u=w.useRef(null),m=w.useCallback(()=>{a.length!==0&&s(C=>(C+1)%a.length)},[a.length]),h=w.useCallback(C=>{C>=0&&C<a.length&&s(C)},[a.length]);w.useEffect(()=>{if(!(a.length<=1||o))return p.current=setInterval(m,6500),()=>{p.current&&clearInterval(p.current)}},[m,o,a.length]),w.useEffect(()=>{const C=f=>{f.key==="ArrowLeft"?(f.preventDefault(),s(b=>b===0?a.length-1:b-1)):f.key==="ArrowRight"&&(f.preventDefault(),m())};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[m,a.length]);const x=C=>{d(f=>{const b=[...f];return b[C]=!0,b})},v=C=>{var f;console.warn(`Failed to load carousel image at index ${C}:`,(f=a[C])==null?void 0:f.src)};return w.useEffect(()=>{if(u.current&&a[r]){const C=a[r],f=Y(`media.captions.${C.key}`,`Slide ${r+1} of ${a.length}`);u.current.textContent=`Now showing: ${f}`}},[r,a]),a.length===0?t.jsx("div",{className:`absolute inset-0 bg-gray-900 ${e}`,children:t.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-black/40 via-black/30 to-black/40"})}):t.jsxs("div",{className:`absolute inset-0 overflow-hidden ${e}`,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:"region","aria-roledescription":"carousel","aria-label":"Hero background carousel",children:[a.map((C,f)=>t.jsx("div",{className:`absolute inset-0 transition-opacity duration-1000 ease-in-out ${f===r?"opacity-100":"opacity-0"}`,children:t.jsx("img",{src:C.src,alt:Y(`media.captions.${C.key}`,""),className:"w-full h-full object-cover",loading:f===0?"eager":"lazy",decoding:"async",onLoad:()=>x(f),onError:()=>v(f)})},`${C.key}-${f}`)),t.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-black/40 via-black/30 to-black/40 pointer-events-none"}),a.length>1&&t.jsxs(t.Fragment,{children:[t.jsx("button",{onClick:()=>h(r===0?a.length-1:r-1),className:"absolute left-4 top-1/2 -translate-y-1/2 z-10 p-2 rounded-full bg-black/30 text-white hover:bg-black/50 transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-white/50","aria-label":"Previous slide",children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),t.jsx("button",{onClick:m,className:"absolute right-4 top-1/2 -translate-y-1/2 z-10 p-2 rounded-full bg-black/30 text-white hover:bg-black/50 transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-white/50","aria-label":"Next slide",children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}),t.jsx("div",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 z-10 flex space-x-2",children:a.map((C,f)=>t.jsx("button",{onClick:()=>h(f),className:`w-3 h-3 rounded-full transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-white/50 ${f===r?"bg-white":"bg-white/40 hover:bg-white/60"}`,"aria-label":`Go to slide ${f+1}`},f))})]}),t.jsx("div",{ref:u,className:"sr-only","aria-live":"polite","aria-atomic":"true"})]})}function re({title:e,subtitle:n,className:a="",images:i}){return t.jsxs("section",{className:`relative isolate h-[42vh] min-h-[320px] md:h-[48vh] lg:h-[56vh] flex items-center justify-center ${a}`,children:[t.jsx(yx,{images:i}),t.jsx("div",{className:"absolute inset-0 pointer-events-none bg-black/30"}),t.jsxs("div",{className:"relative z-10 container mx-auto px-4 text-center",children:[t.jsx("h1",{className:"text-5xl md:text-6xl lg:text-7xl font-bold text-white mb-4 lg:mb-6 leading-tight",children:e}),n&&t.jsx("p",{className:"mt-4 max-w-4xl mx-auto text-white/90 text-xl md:text-2xl lg:text-3xl leading-relaxed",children:n})]})]})}function Dd(){const{t:e}=V();fi(),ie();const n=e("about.accreditation.acupuncture.items",{returnObjects:!0}),a=e("about.accreditation.massage.items",{returnObjects:!0}),i=[{id:"overview",title:e("page.about.navigation.overview"),link:"#overview"},{id:"presidents-message",title:e("page.about.navigation.presidentsMessage"),link:"/about/presidents-message"},{id:"our-faculty",title:e("page.about.navigation.ourFaculty"),link:"/about/our-faculty"},{id:"advisory-committee",title:e("nav.about.advisory-committee"),link:"/about/advisory-committee"},{id:"why-choose-cctcma",title:e("page.about.navigation.whyChooseCctcma"),link:"/about/why-choose-cctcma"},{id:"faq",title:e("page.about.navigation.faq"),link:"/about/faq"},{id:"photo-gallery",title:e("page.about.navigation.photoGallery"),link:"/about/photo-gallery"},{id:"hiring",title:e("page.about.navigation.hiring"),link:"/about/career/
782hiring"},{id:"job-listing",title:e("page.about.navigation.jobListing"),link:"/about/career/job-listing"},{id:"college-news",title:e("page.about.navigation.collegeNews"),link:"/about/college-news"}];return t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-secondary-50 via-white to-accent-50",children:[t.jsx(re,{title:Y("page124.about332.hero.title","About Us"),subtitle:Y("page124.about332.hero.subtitle","Discover CCTCMA's commitment to excellence in Traditional Chinese Medicine education")}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12",children:[t.jsxs("div",{className:"mb-12",children:[t.jsx(g,{contentKey:"about_navigation_title",translationKey:"page124.about332.navigation.title",className:"text-2xl font-bold mb-6 text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-secondary-900",children:e("page124.about332.navigation.title")})}),t.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-4",children:i.map(r=>r.link.startsWith("/")?t.jsx($,{to:r.link,className:"bg-gradient-to-r from-accent-100 to-secondary-100 rounded-xl p-4 hover:from-accent-200 hover:to-secondary-200 transition-all duration-300 text-center border border-primary-300 hover:border-accent-400 transform hover:scale-105 shadow-md hover:shadow-lg",children:t.jsx("span",{className:"text-sm font-medium text-secondary-800",children:r.title})},r.id):t.jsx("a",{href:r.link,className:"bg-gradient-to-r from-accent-100 to-secondary-100 rounded-xl p-4 hover:from-accent-200 hover:to-secondary-200 transition-all duration-300 text-center border border-primary-300 hover:border-accent-400 transform hover:scale-105 shadow-md hover:shadow-lg",children:t.jsx("span",{className:"text-sm font-medium text-secondary-800",children:r.title})},r.id))})]}),t.jsx("section",{id:"overview",className:"mb-16",children:t.jsxs("div",{className:"bg-gradient-to-br from-white to-accent-50 rounded-3xl p-8 lg:p-12 shadow-2xl border border-primary-200",children:[t.jsxs("div",{className:"flex items-center mb-8",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary-100 to-accent-100 rounded-2xl flex items-center justify-center mr-6 border-2 border-primary-300",children:t.jsx("svg",{className:"w-8 h-8 text-primary-600",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{d:"M10.394 2.08a1 1 0 00-.788 0l-7 3a1 1 0 000 1.84L5.25 8.051a.999.999 0 01.356-.257l4-1.714a1 1 0 11.788 1.838L7.667 9.088l1.94.831a1 1 0 00.787 0l7-3a1 1 0 000-1.838l-7-3zM3.31 9.397L5 10.12v4.102a8.969 8.969 0 00-1.05-.174 1 1 0 01-.89-.89 11.115 11.115 0 01.25-3.762zM9.3 16.573A9.026 9.026 0 007 14.935v-3.957l1.818.78a3 3 0 002.364 0l5.508-2.361a11.026 11.026 0 01.25 3.762 1 1 0 01-.89.89 8.968 8.968 0 00-5.35 2.524 1 1 0 01-1.4 0zM6 18a1 1 0 001-1v-2.065a8.935 8.935 0 00-2-.712V17a1 1 0 001 1z"})})}),t.jsx(g,{contentKey:"about_college_title",translationKey:"page124.about332.college.title",className:"text-4xl font-bold text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-4xl font-bold text-secondary-900",children:e("page124.about332.college.title")})})]}),t.jsx("div",{className:"prose max-w-none text-lg leading-relaxed",children:t.jsx(g,{contentKey:"about_college_content",translationKey:"page124.about332.college.content",className:"text-secondary-700 mb-6",multiline:!0,children:t.jsx("div",{className:"space-y-6 text-secondary-700",children:e("page124.about332.college.content").split(`
783
784`).map((r,s)=>t.jsx("p",{children:r},s))})})})]})}),t.jsx("section",{className:"mb-16",children:t.jsxs("div",{className:"bg-gradient-to-br from-white to-primary-50 rounded-3xl p-8 lg:p-12 shadow-2xl border border-primary-200",children:[t.jsxs("div",{className:"flex items-center mb-8",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary-100 to-accent-100 rounded-2xl flex items-center justify-center mr-6 border-2 border-primary-300",children:t.jsx("svg",{className:"w-8 h-8 text-primary-600",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M3 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z",clipRule:"evenodd"})})}),t.jsx(g,{contentKey:"about_mission_title",translationKey:"page124.about332.mission.title",className:"text-4xl font-bold text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-4xl font-bold text-secondary-900",children:e("page124.about332.mission.title")})})]}),t.jsx(g,{contentKey:"about_mission_content",translationKey:"page124.about332.mission.content",className:"text-xl text-secondary-700 leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-xl text-secondary-700 leading-relaxed",children:e("page124.about332.mission.content")})})]})}),t.jsx("section",{className:"mb-16",children:t.jsxs("div",{className:"bg-gradient-to-br from-white to-secondary-50 rounded-3xl p-8 lg:p-12 shadow-2xl border border-primary-200",children:[t.jsxs("div",{className:"flex items-center mb-8",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-secondary-100 to-accent-100 rounded-2xl flex items-center justify-center mr-6 border-2 border-secondary-300",children:t.jsx("svg",{className:"w-8 h-8 text-secondary-600",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})}),t.jsx(g,{contentKey:"about_programs_title",translationKey:"page124.about332.programs.title",className:"text-4xl font-bold text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-4xl font-bold text-secondary-900",children:e("page124.about332.programs.title")})})]}),t.jsx(g,{contentKey:"about_programs_content",translationKey:"page124.about332.programs.content",className:"text-xl text-secondary-700 leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-xl text-secondary-700 leading-relaxed",children:e("page124.about332.programs.content")})})]})}),t.jsx("section",{className:"mb-16",children:t.jsxs("div",{className:"bg-gradient-to-br from-white to-accent-50 rounded-3xl p-8 lg:p-12 shadow-2xl border border-accent-200",children:[t.jsxs("div",{className:"flex items-center mb-8",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-accent-100 to-primary-100 rounded-2xl flex items-center justify-center mr-6 border-2 border-accent-300",children:t.jsx("svg",{className:"w-8 h-8 text-accent-600",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})}),t.jsx(g,{contentKey:"about_goal_title",translationKey:"page124.about332.goal.title",className:"text-4xl font-bold text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-4xl font-bold text-secondary-900",children:e("page124.about332.goal.title")})})]}),t.jsx(g,{contentKey:"about_goal_content",translationKey:"page124.about332.goal.content",className:"text-xl text-secondary-700 leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-xl text-secondary-700 leading-relaxed",children:e("page124.about332.goal.content")})})]})}),t.jsx("section",{className:"mb-16",children:t.jsxs("div",{className:"bg-gradient-to-br from-white to-primary-50 rounded-3xl p-8 lg:p-12 shadow-2xl border border-primary-200",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx(g,{contentKey:"about_faculty_highlight_title",translationKey:"page124.about332.faculty.title",className:"text-4xl font-bold text-secondary-900 font-chinese mb-4",children:t.jsx("h2",{className:"text-4xl font-bold text-secondary-900 mb-4",children:e("page124.about332.faculty.title")})}),t.jsx(g,{contentKey:"about_faculty_highlight_subtitle",translationKey:"page124.about332.faculty.subtitle",className:"text-xl text-secondary-600",children:t.jsx("p",{className:"text-xl text-secondary-600",children:e("page124.about332.faculty.subtitle")})})]}),t.jsxs("div",{className:"grid md:grid-cols-3 gap-8 max-w-5xl mx-auto",children:[t.jsxs("div",{className:"text-center bg-white rounded-2xl p-8 shadow-lg border border-primary-100",children:[t.jsx("div",{className:"w-48 h-48 mx-auto mb-6 relative aspect-square rounded-full overflow-hidden border-4 border-primary-200",children:t.jsx(ze,{contentKey:"faculty_dr_frank_du_image",src:"/images/faculty/Dr.Frank Du.png",alt:"Dr. Frank Du",className:"w-full h-full object-cover object-center"})}),t.jsx(g,{contentKey:"faculty_dr_frank_du_name",translationKey:"page124.about332.faculty.drFrankDu.name",className:"text-2xl font-bold text-primary-700 mb-2",children:t.jsx("h3",{className:"text-2xl font-bold text-primary-700 mb-2",children:e("page124.about332.faculty.drFrankDu.name")})}),t.jsx(g,{contentKey:"faculty_dr_frank_du_title",translationKey:"page124.about332.faculty.drFrankDu.title",className:"text-lg text-secondary-600 font-medium",children:t.jsx("p",{className:"text-lg text-secondary-600 font-medium",children:e("page124.about332.faculty.drFrankDu.title")})})]}),t.jsxs("div",{className:"text-center bg-white rounded-2xl p-8 shadow-lg border border-primary-100",children:[t.jsx("div",{className:"w-48 h-48 mx-auto mb-6 relative aspect-square rounded-full overflow-hidden border-4 border-primary-200",children:t.jsx(ze,{contentKey:"faculty_dr_luyang_liu_image",src:"/images/faculty/Dr.Martin.png",alt:"Dr. Luyang (Martin) Liu",className:"w-full h-full object-cover object-center"})}),t.jsx(g,{contentKey:"faculty_dr_luyang_liu_name",translationKey:"page127.faculty332.faculty.luyangLiu.name",className:"text-2xl font-bold text-primary-700 mb-2",children:t.jsx("h3",{className:"text-2xl font-bold text-primary-700 mb-2",children:e("page127.faculty332.faculty.luyangLiu.name")})}),t.jsx(g,{contentKey:"faculty_dr_luyang_liu_title",translationKey:"page127.faculty332.faculty.luyangLiu.title",className:"text-lg text-secondary-600 font-medium",children:t.jsx("p",{className:"text-lg text-secondary-600 font-medium",children:e("page127.faculty332.faculty.luyangLiu.title")})})]}),t.jsxs("div",{className:"text-center bg-white rounded-2xl p-8 shadow-lg border border-primary-100",children:[t.jsx("div",{className:"w-48 h-48 mx-auto mb-6 relative aspect-square rounded-full overflow-hidden border-4 border-primary-200",children:t.jsx(ze,{contentKey:"faculty_dr_andrea_hejtmanek_image",src:"/images/faculty/BgSub_andrea.jpg",alt:"Dr. Andrea Hejtmanek",className:"w-full h-full object-cover object-center"})}),t.jsx(g,{contentKey:"faculty_dr_andrea_hejtmanek_name",translationKey:"page127.faculty332.faculty.andreaHejtmanek.name",className:"text-2xl font-bold text-primary-700 mb-2",children:t.jsx("h3",{className:"text-2xl font-bold text-primary-700 mb-2",children:e("page127.faculty332.faculty.andreaHejtmanek.name")}
784)}),t.jsx(g,{contentKey:"faculty_dr_andrea_hejtmanek_title",translationKey:"page127.faculty332.faculty.andreaHejtmanek.title",className:"text-lg text-secondary-600 font-medium",children:t.jsx("p",{className:"text-lg text-secondary-600 font-medium",children:e("page127.faculty332.faculty.andreaHejtmanek.title")})})]})]}),t.jsx("div",{className:"text-center mt-12",children:t.jsxs($,{to:"/about/our-faculty",className:"inline-flex items-center justify-center bg-primary-600 hover:bg-primary-700 text-white px-8 py-4 rounded-full font-semibold transition-all duration-300 hover:shadow-lg transform hover:scale-105 group",children:[t.jsx("span",{className:"mr-2",children:e("page124.about332.faculty.viewAllButton")}),t.jsx("svg",{className:"w-5 h-5 group-hover:translate-x-1 transition-transform duration-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})})]})}),t.jsx("section",{className:"mb-16",children:t.jsxs("div",{className:"bg-gradient-to-br from-white to-secondary-50 rounded-3xl p-8 lg:p-12 shadow-2xl border border-secondary-200",children:[t.jsxs("div",{className:"flex items-center mb-8",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-secondary-100 to-accent-100 rounded-2xl flex items-center justify-center mr-6 border-2 border-secondary-300",children:t.jsx("svg",{className:"w-8 h-8 text-secondary-600",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})}),t.jsx(g,{contentKey:"about_accreditation_title",translationKey:"page124.about332.accreditation.title",className:"text-4xl font-bold text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-4xl font-bold text-secondary-900",children:e("page124.about332.accreditation.title")})})]}),t.jsxs("div",{className:"grid lg:grid-cols-2 gap-8",children:[t.jsxs("div",{className:"bg-white rounded-2xl p-8 border border-primary-100 shadow-lg",children:[t.jsx(g,{contentKey:"about_accreditation_acupuncture_title",translationKey:"page124.about332.accreditation.acupuncture.title",className:"text-2xl font-bold mb-6 text-primary-700",children:t.jsx("h3",{className:"text-2xl font-bold mb-6 text-primary-700",children:e("page124.about332.accreditation.acupuncture.title")})}),t.jsx("ul",{className:"space-y-4",children:n.map((r,s)=>t.jsxs("li",{className:"flex items-start",children:[t.jsx("svg",{className:"w-6 h-6 text-primary-600 mr-3 mt-0.5 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:t.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"})}),t.jsx("span",{className:"text-secondary-700 leading-relaxed",children:r})]},s))})]}),t.jsxs("div",{className:"bg-white rounded-2xl p-8 border border-secondary-100 shadow-lg",children:[t.jsx(g,{contentKey:"about_accreditation_massage_title",translationKey:"page124.about332.accreditation.massage.title",className:"text-2xl font-bold mb-6 text-secondary-700",children:t.jsx("h3",{className:"text-2xl font-bold mb-6 text-secondary-700",children:e("page124.about332.accreditation.massage.title")})}),t.jsx("ul",{className:"space-y-4",children:a.map((r,s)=>t.jsxs("li",{className:"flex items-start",children:[t.jsx("svg",{className:"w-6 h-6 text-secondary-600 mr-3 mt-0.5 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:t.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"})}),t.jsx("span",{className:"text-secondary-700 leading-relaxed",children:r})]},s))})]})]})]})}),t.jsxs("div",{className:"bg-primary-600 rounded-3xl p-8 lg:p-12 text-center text-white relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-4 right-4 w-16 h-16 border-2 border-accent-300 rounded-full opacity-30 animate-float"}),t.jsx("div",{className:"absolute bottom-4 left-4 w-12 h-12 bg-accent-300 rounded-full opacity-20 animate-gentle-bounce"}),t.jsx(g,{contentKey:"about_cta_title",translationKey:"page124.about332.cta.title",className:"text-3xl font-bold mb-6 text-accent-100 font-chinese relative z-10",children:t.jsx("h2",{className:"text-3xl font-bold mb-6 text-accent-100 relative z-10",children:e("page124.about332.cta.title")})}),t.jsx(g,{contentKey:"about_cta_description",translationKey:"page124.about332.cta.description",className:"mb-8 text-xl text-accent-100 relative z-10",multiline:!0,children:t.jsx("p",{className:"mb-8 text-xl text-accent-100 relative z-10",children:e("page124.about332.cta.description")})}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-6 justify-center relative z-10",children:[t.jsx($,{to:"/admission/apply",className:"bg-white text-primary-600 px-8 py-4 rounded-full hover:bg-accent-100 transition-all duration-300 font-bold text-lg transform hover:scale-105 shadow-lg",children:e("page124.about332.cta.applyButton")}),t.jsx($,{to:"/contact-us",className:"border-2 border-white text-white px-8 py-4 rounded-full hover:bg-white hover:text-primary-600 transition-all duration-300 font-bold text-lg transform hover:scale-105",children:e("page124.about332.cta.contactButton")})]})]})]})]})}function Id({videoId:e,autoplay:n=!1,className:a=""}){const i=()=>{const r=`https://www.youtube.com/embed/${e}`,s=new URLSearchParams({rel:"0",modestbranding:"1",showinfo:"0",controls:"1",loop:"1",playlist:e,...n&&{autoplay:"1",mute:"1"}});return`${r}?${s.toString()}`};return we.useEffect(()=>{console.log("YouTubeEmbed rendered with videoId:",e),console.log("Embed URL:",i())},[e]),e?t.jsx("div",{className:`relative w-full overflow-hidden ${a}`,style:{aspectRatio:"16 / 9"},children:t.jsx("iframe",{src:i(),title:`YouTube video player - ${e}`,frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0,className:"absolute inset-0 w-full h-full border-0",onLoad:()=>console.log("YouTube iframe loaded successfully"),onError:r=>console.error("YouTube iframe error:",r)})}):t.jsx("div",{className:`relative w-full overflow-hidden bg-gray-200 flex items-center justify-center ${a}`,style:{aspectRatio:"16 / 9"},children:t.jsx("p",{className:"text-gray-500",children:"No video ID provided"})})}function Rd(){const{t:e,i18n:n}=V();fi(),ie();const a=[{id:"acupuncture",title:e("programs.details.acupuncture.title"),duration:e("programs.details.acupuncture.duration"),description:e("programs.details.acupuncture.description"),highlights:e("programs.acupuncture.highlights",{returnObjects:!0,defaultValue:[]}),image:"/images/acupuncture.jpg",hasVideo:!0,videoId:"vdIaPpOPiR0"},{id:"massage",title:e("programs.details.massage.title"),duration:e("programs.details.massage.duration"),description:e("programs.details.massage.description"),highlights:e("programs.massage.highlights",{returnObjects:!0,defaultValue:[]}),image:"/images/Programs_HP/2200hr_pic.png",hasVideo:!1},{id:"tcm",title:e("programs.details.tcm.title"),duration:e("programs.details.tcm.duration"),description:e("programs.details.tcm.description"),highlights:e("programs.tcm.highlights",{returnObjects:!0,defaultValue:[]}),image:"/images/tcm.jpg",hasVideo:!1}],i=[{icon:t.jsx("svg",{className:"w-12 h-12 text-programs-600",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{d:"M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 
7840 014 0zM14 15a4 4 0 00-8 0v3h8v-3z"})}),title:e("home.whyChoose.feature1.title"),description:e("home.whyChoose.feature1.description")},{icon:t.jsxs("svg",{className:"w-12 h-12 text-programs-600",fill:"currentColor",viewBox:"0 0 20 20",children:[t.jsx("path",{fillRule:"evenodd",d:"M6 6V5a3 3 0 013-3h2a3 3 0 013 3v1h2a2 2 0 012 2v3.57A22.952 22.952 0 0110 13a22.95 22.95 0 01-8-1.43V8a2 2 0 012-2h2zm2-1a1 1 0 011-1h2a1 1 0 011 1v1H8V5zm1 5a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1z",clipRule:"evenodd"}),t.jsx("path",{d:"M2 13.692V16a2 2 0 002 2h12a2 2 0 002-2v-2.308A24.974 24.974 0 0110 15c-2.796 0-5.487-.46-8-1.308z"})]}),title:e("home.whyChoose.feature2.title"),description:e("home.whyChoose.feature2.description")},{icon:t.jsx("svg",{className:"w-12 h-12 text-programs-600",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM4.332 8.027a6.012 6.012 0 011.912-2.706C6.512 5.73 6.974 6 7.5 6A1.5 1.5 0 019 7.5V8a2 2 0 004 0 2 2 0 011.523-1.943A5.977 5.977 0 0116 10c0 .34-.028.675-.083 1H15a2 2 0 00-2 2v2.197A5.973 5.973 0 0110 16v-2a2 2 0 00-2-2 2 2 0 01-2-2 2 2 0 00-1.668-1.973z",clipRule:"evenodd"})}
784),title:e("home.whyChoose.feature3.title"),description:e("home.whyChoose.feature3.description")}],r=[{name:e("about.testimonials.kunLi.name"),text:e("about.testimonials.kunLi.text"),image:"/images/student-testimonial-1.jpg"},{name:e("about.testimonials.yingLi.name"),text:e("about.testimonials.yingLi.text"),image:"/images/student-testimonial-2.jpg"}];return t.jsxs("div",{className:"min-h-screen bg-white",children:[t.jsx(re,{title:Y("programs.hero.mainTitle","Our Programs"),subtitle:Y("programs.hero.subtitle","Comprehensive Traditional Chinese Medicine education programs")}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[t.jsx("div",{className:"space-y-20 mb-20",children:a.map((s,o)=>s.id==="acupuncture"?t.jsxs("div",{className:"bg-white rounded-3xl shadow-2xl overflow-hidden border border-primary-100 hover:shadow-3xl transition-all duration-500 flex flex-col",children:[t.jsxs("div",{className:"p-8 lg:p-12 flex flex-col justify-center",children:[t.jsx("div",{className:"flex items-center justify-between mb-6",children:t.jsx(g,{contentKey:`programs_${s.id}_title`,translationKey:`programs.${s.id}.title`,className:"text-3xl lg:text-4xl font-bold text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-3xl lg:text-4xl font-bold text-secondary-900",children:s.title})})}),t.jsx(g,{contentKey:`programs_${s.id}_description`,translationKey:`programs.${s.id}.description`,className:"text-secondary-600 mb-6 text-lg leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-secondary-600 mb-6 text-lg leading-relaxed",children:s.description})}),t.jsx("div",{className:"mb-8",children:t.jsx("span",{className:"inline-block bg-gradient-to-r from-primary-100 to-accent-100 text-primary-700 px-6 py-3 rounded-full font-semibold border border-primary-200 text-lg",children:s.duration})}),t.jsx($,{to:`/programs/${s.id}`,className:"bg-gradient-to-r from-programs-500 to-programs-600 text-white px-8 py-4 rounded-full hover:from-programs-600 hover:to-programs-700 transition-all duration-300 text-center font-semibold text-lg transform hover:scale-105 shadow-xl inline-block w-fit",children:e("programs.learnMore")})]}),t.jsx("div",{className:"relative flex items-center justify-center p-8 lg:p-12",children:s.hasVideo&&s.videoId?t.jsx("div",{className:"w-full max-w-6xl",children:t.jsx(Id,{videoId:s.videoId,autoplay:!0,className:"rounded-xl"})}):t.jsx("div",{className:"w-full max-w-6xl",children:t.jsx("div",{className:"relative w-full overflow-hidden rounded-xl",style:{aspectRatio:"16 / 9"},children:t.jsx(ze,{contentKey:`programs_${s.id}_image`,src:s.image,alt:s.title,className:"absolute inset-0 w-full h-full object-cover"})})})})]},s.id):s.id==="massage"?t.jsx("div",{className:"bg-white rounded-3xl shadow-2xl overflow-hidden border border-primary-100 hover:shadow-3xl transition-all duration-500",children:t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 items-center p-8 md:p-10",children:[t.jsxs("div",{className:"flex flex-col justify-center",children:[t.jsx("div",{className:"flex items-center justify-between mb-6",children:t.jsx(g,{contentKey:`programs_${s.id}_title`,translationKey:`programs.${s.id}.title`,className:"text-3xl lg:text-4xl font-bold text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-3xl lg:text-4xl font-bold text-secondary-900",children:s.title})})}),t.jsx(g,{contentKey:`programs_${s.id}_description`,translationKey:`programs.${s.id}.description`,className:"text-secondary-600 mb-6 text-lg leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-secondary-600 mb-6 text-lg leading-relaxed",children:s.description})}),t.jsx("div",{className:"mb-8",children:t.jsx("span",{className:"inline-block bg-gradient-to-r from-primary-100 to-accent-100 text-primary-700 px-6 py-3 rounded-full font-semibold border border-primary-200 text-lg",children:s.duration})}),t.jsx($,{to:`/programs/${s.id}`,className:"bg-gradient-to-r from-programs-500 to-programs-600 text-white px-8 py-4 rounded-full hover:from-programs-600 hover:to-programs-700 transition-all duration-300 text-center font-semibold text-lg transform hover:scale-105 shadow-xl inline-block w-fit",children:e("programs.learnMore")})]}),t.jsx("div",{className:"w-full h-full",children:t.jsx("img",{src:"/images/Programs_HP/2200hr_pic.png",alt:"2200 Hour Massage Diploma",loading:"lazy",className:"w-full h-full object-contain rounded-2xl",width:"960",height:"720"})})]})},s.id):s.id==="tcm"?t.jsx("div",{className:"bg-white rounded-3xl shadow-2xl overflow-hidden border border-primary-100 hover:shadow-3xl transition-all duration-500",children:t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8 items-center p-8 md:p-10",children:[t.jsx("div",{className:"w-full h-full",children:t.jsx("img",{src:"/images/Programs_HP/tcm_diploma.png",alt:"TCM Diploma",loading:"lazy",className:"w-full h-full object-contain rounded-2xl",width:"960",height:"720"})}),t.jsxs("div",{className:"flex flex-col justify-center",children:[t.jsx("div",{className:"flex items-center justify-between mb-6",children:t.jsx(g,{contentKey:`programs_${s.id}_title`,translationKey:`programs.${s.id}.title`,className:"text-3xl lg:text-4xl font-bold text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-3xl lg:text-4xl font-bold text-secondary-900",children:s.title})})}),t.jsx(g,{contentKey:`programs_${s.id}_description`,translationKey:`programs.${s.id}.description`,className:"text-secondary-600 mb-6 text-lg leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-secondary-600 mb-6 text-lg leading-relaxed",children:s.description})}),t.jsx("div",{className:"mb-8",children:t.jsx("span",{className:"inline-block bg-gradient-to-r from-primary-100 to-accent-100 text-primary-700 px-6 py-3 rounded-full font-semibold border border-primary-200 text-lg",children:s.duration})}),t.jsx($,{to:`/programs/${s.id}`,className:"bg-gradient-to-r from-programs-500 to-programs-600 text-white px-8 py-4 rounded-full hover:from-programs-600 hover:to-programs-700 transition-all duration-300 text-center font-semibold text-lg transform hover:scale-105 shadow-xl inline-block w-fit",children:e("programs.learnMore")})]})]})},s.id):t.jsxs("div",{className:`bg-white rounded-3xl shadow-2xl overflow-hidden border border-primary-100 hover:shadow-3xl transition-all duration-500 ${o%2===0?"lg:flex-row":"lg:flex-row-reverse"} flex flex-col lg:flex min-h-[500px]`,children:[t.jsx("div",{className:"lg:w-3/5 relative flex items-center justify-center p-8 lg:p-12",children:s.hasVideo&&s.videoId?t.jsx("div",{className:"w-full",children:t.jsx(Id,{videoId:s.videoId,autoplay:!0,className:"rounded-xl"})}):t.jsx("div",{className:"w-full",children:t.jsx("div",{className:"relative w-full overflow-hidden rounded-xl",style:{aspectRatio:"16 / 9"},children:t.jsx(ze,{contentKey:`programs_${s.id}_image`,src:s.image,alt:s.title,className:"absolute inset-0 w-full h-full object-cover"})})})}),t.jsxs("div",{className:"lg:w-2/5 p-8 lg:p-12 flex flex-col justify-center",children:[t.jsx("div",{className:"flex items-center justify-between mb-6",children:t.jsx(g,{contentKey:`programs_${s.id}_title`,translationKey:`programs.${s.id}.title`,className:"text-3xl lg:text-4xl font-bold text-secondary-900 font-chinese",children:t.jsx("h2",{className:"text-3xl lg:text-4xl font-bold text-secondary-900",children:s.title})})}),t.jsx(g,{contentKey:`programs_${s.id}_description`,translationKey:`programs.${s.id}.description`,className:"text-secondary-600 mb-6 text-lg leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-secondary-600 mb-6 text-lg leading-relaxed",children:s.description})}),t.jsx("div",{className:"mb-8",children:t.jsx("span",{className:"inline-block bg-gradient-to-r from-primary-100 to-accent-100 text-primary-700 px-6 py-3 rounded-full font-semibold border border-primary-200 text-lg",children:s.duration})}),t.jsx($,{to:`/programs/${s.id}`,className:"bg-gradient-to-r from-programs-500 to-programs-600 text-white px-8 py-4 rounded-full hover:from-programs-600 hover:to-programs-700 transition-all duration-300 text-center font-semibold text-lg transform hover:scale-105 shadow-xl inline-block",children:e("programs.learnMore")})]})]},s.id))}),t.jsx("div",{className:"bg-gradient-to-r from-primary-500 to-accent-500 rounded-3xl p-12 text-center text-white mb-20 shadow-2xl",children:t.jsxs("div",{className:"max-w-4xl mx-auto",children:[t.jsx("h2",{className:"text-4xl font-bold mb-4",children:Y("programs.details.applyOnlineNow","Apply Online Now!")}),t.jsx("p",{className:"text-xl mb-2 text-white/90",children:Y("programs.details.locatedInCalgary","Located in beautiful Calgary, Alberta, Canada")}),t.jsx("p",{className:"text-2xl font-semibold mb-8",children:Y("programs.details.bestAcupuncturePrograms","One of the best acupuncture programs in Canada")}),t.jsx($,{to:"/admission/apply",className:"bg-white text-primary-600 px-8 py-4 rounded-full hover:bg-gray-100 transition-all duration-300 font-bold text-lg transform hover:scale-105 shadow-xl inline-block",children:Y("programs.details.onlineApplication","Online Application")})]})}),t.jsxs("div",{className:"mb-20",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-4xl font-bold text-secondary-900 mb-4",children:Y("programs.details.whyChooseCCTCMA","Why Choose CCTCMA?")}
784),t.jsx("p",{className:"text-xl text-secondary-600 max-w-4xl mx-auto leading-relaxed",children:Y("programs.details.whyChooseDescription","We provide our students with high quality education in acupuncture and Traditional Chinese Medicine. Our standards of education are comparable to Acupuncture and TCM programs offered in China.")})]}),t.jsx("div",{className:"grid md:grid-cols-3 gap-8 mb-12",children:i.map((s,o)=>t.jsxs("div",{className:"text-center p-8 bg-gradient-to-br from-white to-primary-50 rounded-2xl shadow-lg border border-primary-100 hover:shadow-xl transition-all duration-300",children:[t.jsx("div",{className:"flex justify-center mb-6",children:t.jsx("div",{className:"w-20 h-20 bg-gradient-to-br from-primary-100 to-accent-100 rounded-2xl flex items-center justify-center border-2 border-primary-200",children:s.icon})}),t.jsx("h3",{className:"text-xl font-bold text-secondary-900 mb-4",children:s.title}),t.jsx("p",{className:"text-secondary-600 leading-relaxed",children:s.description})]},o))})]}),t.jsxs("div",{className:"bg-gradient-to-br from-programs-600 to-programs-700 rounded-3xl p-12 text-center text-white mb-20 shadow-2xl",children:[t.jsx("h2",{className:"text-3xl font-bold mb-6",children:Y("programs.details.visitCampusOrBook","Visit our campus or book a treatment!")}),t.jsx("a",{href:"tel:+14032878688",className:"bg-white text-programs-600 px-8 py-4 rounded-full hover:bg-gray-100 transition-all duration-300 font-bold text-lg transform hover:scale-105 shadow-xl inline-block",children:Y("programs.details.callPhone","Call 1-403-287-8688")})]}),t.jsxs("div",{className:"mb-20",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h2",{className:"text-4xl font-bold text-secondary-900 mb-4",children:Y("programs.details.whatStudentsSay","What Our Students Say")}),t.jsx("p",{className:"text-xl text-secondary-600",children:Y("programs.details.graduateExperiences","Hear from our graduates about their transformative experiences")})]}),t.jsx("div",{className:"grid lg:grid-cols-2 gap-8",children:r.map((s,o)=>t.jsxs("div",{className:"bg-gradient-to-br from-white to-accent-50 rounded-2xl p-8 shadow-lg border border-primary-100",children:[t.jsxs("div",{className:"flex items-center mb-6",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary-100 to-accent-100 rounded-full flex items-center justify-center border-2 border-primary-200 mr-4",children:t.jsx("span",{className:"text-2xl font-bold text-primary-600",children:s.name.charAt(0)})}),t.jsx("h3",{className:"text-xl font-bold text-secondary-900",children:s.name})]}),t.jsxs("blockquote",{className:"text-secondary-600 leading-relaxed italic",children:['"',s.text,'"']})]},o))})]})]})]})}function Ks(e){return String(e).toLowerCase().replace(/&/g,"and").replace(/[\/–—]/g," ").replace(/\s+/g," ").replace(/[^\w\s()\u4e00-\u9fff]/g,"").trim()}function xx(e){const n=Ks(e);return bx.find(a=>{var i;return Ks(a.title)===n||((i=a.aliasTitles)==null?void 0:i.some(r=>Ks(r)===n))})}const bx=[{title:"The Foundation of TCM",slug:"the-foundation-of-tcm",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/the-foundation-of-tcm/",aliasTitles:["中医基础"]},{title:"Chinese Acupuncture (1)",slug:"chinese-acupuncture-1",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-1/",aliasTitles:["中国针灸(1)","中医针灸(1)"]},{title:"Anatomy and Physiology (1)",slug:"anatomy-and-physiology-1",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/anatomy-and-physiology-1/",aliasTitles:["解剖学与生理学(1)","解剖生理学(1)"]},{title:"Medical Terminology",slug:"medical-terminology",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/medical-terminology/",aliasTitles:["医学术语"]},{title:"Chinese Language and TCM History",slug:"chinese-language-and-history-of-tcm",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/chinese-language-and-history-of-tcm/",aliasTitles:["中文与中医史","中文和中医史"]},{title:"TCM and Acupuncture Regulation, Ethics, Communication Skills, and Clean Needle Technique",slug:"tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique/",aliasTitles:["中医与针灸法规、伦理、沟通技巧及无菌针刺技术","中医针灸法规、职业道德、沟通技巧和清洁针刺技术"]},{title:"Diagnosis of TCM",slug:"diagnosis-of-tcm",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/diagnosis-of-tcm/",aliasTitles:["中医诊断学"]},{title:"Chinese Acupuncture (2)",slug:"chinese-acupuncture-2",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-2/",aliasTitles:["中国针灸(2)","中医针灸(2)"]},{title:"Chinese Herbology",slug:"chinese-herbology",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/chinese-herbology/",aliasTitles:["中药学"]},{title:"Anatomy and Physiology (2)",slug:"anatomy-and-physiology-2",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/anatomy-and-physiology-2/",aliasTitles:["解剖学与生理学(2)","解剖生理学(2)"]},{title:"Chinese Acupuncture (3)",slug:"chinese-acupuncture-3",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-3/",aliasTitles:["中国针灸(3)","中医针灸(3)"]},{title:"Chinese Herbal Formulas",slug:"chinese-herbal-formulas",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/chinese-herbal-formulas/",aliasTitles:["中药方剂","中药方剂学"]},{title:"Massage (1)",slug:"massage-1",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/massage-1/",aliasTitles:["推拿按摩(1)","按摩(1)"]},{title:"Pathology and Microbiology (1)",slug:"pathology-and-microbiology-1",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/pathology-and-microbiology-1/",aliasTitles:["病理学与微生物学(1)","病理学和微生物学(1)"]},{title:"Western Medical Diagnosis",slug:"western-medical-diagnosis",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/western-medical-diagnosis/",aliasTitles:["西医诊断学"]},{title:"Clinical Practicum (1)",slug:"clinical-practicum-1",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-1/",aliasTitles:["临床实习(1)"]},{title:"Chinese Acupuncture (4)",slug:"chinese-acupuncture-4",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-4/",aliasTitles:["中国针灸(4)","中医针灸(4)"]},{title:"Internal Medicine",slug:"internal-medicine",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/internal-medicine/",aliasTitles:["内科学","中医内科学"]},{title:"Massage (2)",slug:"massage-2",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/massage-2/",aliasTitles:["推拿按摩(2)","按摩(2)"]},{title:"Dietary Therapy",slug:"dietary-therapy",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/dietary-therapy/",aliasTitles:["食疗","食疗学"]},{title:"Pathology and Microbiology (2)",slug:"pathology-and-microbiology-2",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/pathology-and-microbiology-2/",aliasTitles:["病理学与微生物学(2)","病理学和微生物学(2)"]},{title:"Western Pharmacology",slug:"western-pharmacology",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/western-pharmacology/",aliasTitles:["西医药理学"]},{title:"Clinical Practicum (2)",slug:"clinical-practicum-2",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-2/",aliasTitles:["临床实习(2)"]},{title:"Chinese Acupuncture (5)",slug:"chinese-acupuncture-5",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-5/",aliasTitles:["中国针灸(5)","中医针灸(5)"]},{title:"TCM Sports Medicine",slug:"tcm-sports-medicine",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/tcm-sports-medicine/",aliasTitles:["中医运动医学"]},{title:"Case Study (1)",slug:"case-study-1",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/case-study-1/",aliasTitles:["病案研究(1)","病案讨论(1)"]},{title:"Pediatrics",slug:"pediatrics",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/pediatrics/",aliasTitles:["儿科学","中医儿科学"]},{title:"TCM Classics (1)",slug:"tcm-classics-1",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/tcm-classics-1/",aliasTitles:["中医经典(1)"]},{title:"Clinical Practicum (3)",slug:"clinical-practicum-3",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-3/",aliasTitles:["临床实习(3)"]},{title:"Acupuncture (6)",slug:"acupuncture-6",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/acupuncture-6/",aliasTitles:["针灸(6)"]},{title:"TCM External Medicine and Dermatology",slug:"tcm-external-medicine-and-dermatology",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/tcm-external-medicine-and-dermatology/",aliasTitles:["中医外科与皮肤科"]},{title:"TCM Gynecology",slug:"tcm-gynecology",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/tcm-gynecology/",aliasTitles:["中医妇科学"]},{title:"TCM Classics (2) – Jin Gui Yao Lue",slug:"tcm-classics-2-jin-gui-yao-lue",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/tcm-classics-2-jin-gui-yao-lue/",aliasTitles:["中医经典(2)金匮要略"]},{title:"Introduction to Business Administration",slug:"introduction-to-business-administration",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/introduction-to-business-administration/",aliasTitles:["工商管理概论"]},{title:"Case Study (2)",slug:"case-study-2",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/case-study-2/",aliasTitles:["病案研究(2)"]},{title:"Safety and Jurisprudence",slug:"safety-and-jurisprudence",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/safety-and-jurisprudence/",aliasTitles:["安全与法理"]},{title:"Clinical Practicum (4)",slug:"clinical-practicum-4",program:"acupuncture",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-4/",aliasTitles:["临床实习(4)"]},{title:"The Foundation of TCM",slug:"the-foundation-of-tcm",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/the-foundation-of-tcm/",aliasTitles:["中医基础"]},{title:"Chinese Acupuncture (1)",slug:"chinese-acupuncture-1",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-1/",aliasTitles:["中国针灸(1)","中医针灸(1)"]},{title:"Anatomy and Physiology (1)",slug:"anatomy-and-physiology-1",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/anatomy-and-physiology-1/",aliasTitles:["解剖学与生理学(1)","解剖生理学(1)"]},{title:"Medical Terminology",slug:"medical-terminology",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/medical-terminology/",aliasTitles:["医学术语"]},{title:"Chinese Language and History of TCM",slug:"chinese-language-and-history-of-tcm",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/chinese-language-and-history-of-tcm/",aliasTitles:["中文与中医史","中文和中医史"]},{title:"TCM and Acupuncture Regulation, Ethics, Communication Skills, and Clean Needle Technique",slug:"tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique/",aliasTitles:["中医与针灸法规、伦理、沟通技巧及无菌针刺技术","中医针灸法规、职业道德、沟通技巧和清洁针刺技术"]},{title:"Diagnosis of TCM",slug:"diagnosis-of-tcm",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/diagnosis-of-tcm/",aliasTitles:["中医诊断学"]},{title:"Chinese Acupuncture (2)",slug:"chinese-acupuncture-2",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-2/",aliasTitles:["中国针灸(2)","中医针灸(2)"]},{title:"Chinese Herbology",slug:"chinese-herbology",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/chinese-herbology/",aliasTitles:["中药学"]},{title:"Anatomy and Physiology (2)",slug:"anatomy-and-physiology-2",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/anatomy-and-physiology-2/",aliasTitles:["解剖学与生理学(2)","解剖生理学(2)"]},{title:"Chinese Acupuncture (3)",slug:"chinese-acupuncture-3",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-3/",aliasTitles:["中国针灸(3)","中医针灸(3)"]},{title:"Chinese Herbal Formulas",slug:"chinese-herbal-formulas",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/chinese-herbal-formulas/",aliasTitles:["中药方剂","中药方剂学"]},{title:"Massage (1)",slug:"massage-1",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/massage-1/",aliasTitles:["推拿按摩(1)","按摩(1)"]},{title:"Pathology and Microbiology (1)",slug:"pathology-and-microbiology-1",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/pathology-and-microbiology-1/",aliasTitles:["病理学与微生物学(1)","病理学和微生物学(1)"]},{title:"Western Medical Diagnosis",slug:"western-medical-diagnosis",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/western-medical-diagnosis/",aliasTitles:["西医诊断学"]},{title:"Clinical Practicum (1)",slug:"clinical-practicum-1",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-1/",aliasTitles:["临床实习(1)"]},{title:"Chinese Acupuncture (4)",slug:"chinese-acupuncture-4",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-4/",aliasTitles:["中国针灸(4)","中医针灸(4)"]},{title:"Internal Medicine",slug:"internal-medicine",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/internal-medicine/",aliasTitles:["内科学","中医内科学"]},{title:"Massage (2)",slug:"massage-2",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/massage-2/",aliasTitles:["推拿按摩(2)","按摩(2)"]},{title:"Dietary Therapy",slug:"dietary-therapy",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/dietary-therapy/",aliasTitles:["食疗","食疗学"]},{title:"Pathology and Microbiology (2)",slug:"pathology-and-microbiology-2",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/pathology-and-microbiology-2/",aliasTitles:["病理学与微生物学(2)","病理学和微生物学(2)"]},{title:"Western Pharmacology",slug:"western-pharmacology",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/western-pharmacology/",aliasTitles:["西医药理学"]},{title:"Clinical Practicum (2)",slug:"clinical-practicum-2",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-2/",aliasTitles:["临床实习(2)"]},{title:"Chinese Acupuncture (5)",slug:"chinese-acupuncture-5",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-5/",aliasTitles:["中国针灸(5)","中医针灸(5)"]},{title:"TCM Sports Medicine",slug:"tcm-sports-medicine",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-sports-medicine/",aliasTitles:["中医运动医学"]},{title:"Case Study (1)",slug:"case-studies-1",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/case-studies-1/",aliasTitles:["病案研究(1)","病案讨论(1)"]},{title:"Pediatrics",slug:"pediatrics",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/pediatrics/",aliasTitles:["儿科学","中医儿科学"]},{title:"TCM Classics (1)",slug:"tcm-classics-1",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-classics-1/",aliasTitles:["中医经典(1)"]},{title:"Clinical Practicum (3)",slug:"clinical-practicum-3",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-3/",aliasTitles:["临åº
784Šå®žä¹ ï¼ˆ3)"]},{title:"Chinese Acupuncture (6)",slug:"chinese-acupuncture-6",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/chinese-acupuncture-6/",aliasTitles:["Acupuncture (6)","中国针灸(6)","针灸(6)"]},{title:"TCM External and Dermatology",slug:"tcm-external-dermatology",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-external-dermatology/",aliasTitles:["TCM External & Dermatology","中医外科与皮肤科","中医外科和皮肤科"]},{title:"TCM Gynecology",slug:"tcm-gynecology",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-gynecology/",aliasTitles:["中医妇科学"]},{title:"TCM Classic (2) Jin Gui Yao Lue",slug:"tcm-classic-2-jin-gui-yao-lue",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-classic-2-jin-gui-yao-lue/",aliasTitles:["中医经典(2)金匮要略"]},{title:"Introduction to Business Management",slug:"introduction-to-business-management",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/introduction-to-business-management/",aliasTitles:["Introduction To Business Management","工商管理概论"]},{title:"Case Studies (2)",slug:"case-studies-2",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/case-studies-2/",aliasTitles:["病案研究(2)","病案讨论(2)"]},{title:"Safety and Jurisprudence",slug:"safety-jurisprudence",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/safety-jurisprudence/",aliasTitles:["Safety & Jurisprudence","安全与法理","安全与法规"]},{title:"Clinical Practicum (4)",slug:"clinical-practicum-4",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-4/",aliasTitles:["临床实习(4)"]},{title:"TCM Classics – Huang Di Nei Jing, Su Wen and Wen Bing Xue",slug:"tcm-classics-huang-di-nei-jing-su-wen-and-wen-bing-xue",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-classics-huang-di-nei-jing-su-wen-and-wen-bing-xue/",aliasTitles:["中医经典 - 黄帝内经素问与温病学"]},{title:"TCM Psychology",slug:"tcm-psychology",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-psychology/",aliasTitles:["中医心理学"]},{title:"Advanced Acupuncture and TCM",slug:"advanced-acupuncture-and-tcm",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/advanced-acupuncture-and-tcm/",aliasTitles:["高级针灸和中医"]},{title:"Botanical Pharmacology",slug:"botanical-pharmacology",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/botanical-pharmacology/",aliasTitles:["植物药理学"]},{title:"TCM Preventive Medicine",slug:"tcm-preventive-medicine",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-preventive-medicine/",aliasTitles:["中医预防医学"]},{title:"Western Internal Medicine",slug:"western-internal-medicine",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/western-internal-medicine/",aliasTitles:["西医内科学"]},{title:"Clinical Practicum (5)",slug:"clinical-practicum-5",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-5/",aliasTitles:["临床实习(5)"]},{title:"Clinical Practicum (6)",slug:"clinical-practicum-6",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/clinical-practicum-6/",aliasTitles:["临床实习(6)"]},{title:"Medical Terminology",slug:"mt-101-medical-terminology",program:"massage",sourceUrl:"https://cctcma.com/mt-101-medical-terminology/",aliasTitles:["医学术语"]},{title:"Anatomy and Physiology",slug:"mt-102-anatomy-and-physiology",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-102-anatomy-and-physiology/",aliasTitles:["解剖学与生理学","解剖生理学"]},{title:"Musculoskeletal Anatomy",slug:"mt-201-musculoskeletal-anatomy",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-201-musculoskeletal-anatomy/",aliasTitles:["肌肉骨骼解剖学"]},{title:"Neuroanatomy",slug:"mt-202-neuroanatomy",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-202-neuroanatomy/",aliasTitles:["神经解剖学"]},{title:"Massage Theory and Practice 1",slug:"mt-104-massage-theory-and-practice-1",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-104-massage-theory-and-practice-1/",aliasTitles:["按摩理论与实践1"]},{title:"Ethics and Communications",slug:"mt-105-ethics-and-communications",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-105-ethics-and-communications/",aliasTitles:["伦理学与沟通","职业道德与沟通"]},{title:"Business Skills",slug:"mt-107-business-skills",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-107-business-skills/",aliasTitles:["商业技能"]},{title:"Massage Theory and Practice 2",slug:"mt-109-massage-theory-and-practice-2",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-109-massage-theory-and-practice-2/",aliasTitles:["按摩理论与实践2"]},{title:"Massage Clinical Practicum 1",slug:"mt-110-massage-clinical-practicum-1",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-110-massage-clinical-practicum-1/",aliasTitles:["按摩临床实习1"]},{title:"Pathology",slug:"mt-106-pathology",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-106-pathology/",aliasTitles:["病理学"]},{title:"Physical Diagnosis and Case History Taking",slug:"mt-108-physical-diagnosis-case-history-taking-2",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-108-physical-diagnosis-case-history-taking-2/",aliasTitles:["Physical Diagnosis/Case History Taking","身体诊断/病史采集","体格检查/病史采集"]},{title:"Massage Theory and Practice 3",slug:"mt-203-massage-theory-and-practice-3-joint-mobilizations",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-203-massage-theory-and-practice-3-joint-mobilizations/",aliasTitles:["按摩理论与实践3"]},{title:"Massage Theory and Practice 4",slug:"mt-204-massage-theory-and-practice-4-treatment-of-head-neck-and-back",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-204-massage-theory-and-practice-4-treatment-of-head-neck-and-back/",aliasTitles:["按摩理论与实践4"]},{title:"Massage Clinical Practicum 2",slug:"mt-210-massage-clinical-practicum-2",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-210-massage-clinical-practicum-2/",aliasTitles:["按摩临床实习2"]},{title:"Orthopedic Physical Diagnosis and Sport Injury",slug:"mt-205-orthopedic-physical-diagnosis-sport-injury",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-205-orthopedic-physical-diagnosis-sport-injury/",aliasTitles:["Orthopedic Physical Diagnosis/ Sport Injury","骨科身体诊断/运动损伤","骨科体格检查/运动损伤"]},{title:"Introduction to Internal Medicine and Surgery",slug:"mt-206-introduction-to-internal-medicine-and-surgery",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-206-introduction-to-internal-medicine-and-surgery/",aliasTitles:["内科和外科概论","内科与外科概论"]},{title:"Massage Theory and Practice 5",slug:"mt-207-massage-theory-and-practice-5-treatment-of-upper-and-lower-extremities",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-207-massage-theory-and-practice-5-treatment-of-upper-and-lower-extremities/",aliasTitles:["按摩理论与实践5"]},{title:"Massage Theory and Practice 6",slug:"mt-208-massage-theory-and-practice-6-sport-massage",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-208-massage-theory-and-practice-6-sport-massage/",aliasTitles:["按摩理论与实践6"]},{title:"Massage Clinical Practicum 3",slug:"mt-211-massage-clinical-practicum-3",program:"massage",sourceUrl:"https://cctcma.com/course-listing/mt-211-massage-clinical-practicum-3/",aliasTitles:["按摩临床实习3"]},{title:"TCM Classics – Huang Di Nei Jing, Su Wen and Wen Bing Xue",slug:"tcm-classics-huang-di-nei-jing-su-wen-wen-bing-xue",program:"tcm",aliasTitles:["中医经典 - 黄帝内经素问与温病学"]},{title:"TCM Psychology",slug:"tcm-psychology",program:"tcm",aliasTitles:["中医心理学"]},{title:"Advanced Acupuncture and TCM",slug:"advanced-acupuncture-and-tcm",program:"tcm",aliasTitles:["高级针灸和中医"]},{title:"Botanical Pharmacology",slug:"botanical-pharmacology",program:"tcm",aliasTitles:["植物药理学"]},{title:"TCM Preventive Medicine",slug:"tcm-preventive-medicine",program:"tcm",aliasTitles:["中医预防医学"]},{title:"Western Internal Medicine",slug:"western-internal-medicine",program:"tcm",aliasTitles:["西医内科学"]},{title:"Clinical Practicum (5)",slug:"clinical-practicum-5",program:"tcm",aliasTitles:["临床实习(5)"]},{title:"Clinical Practicum (6)",slug:"clinical-practicum-6",program:"tcm",aliasTitles:["临床实习(6)"]},{title:"Anatomy and Physiology",slug:"anatomy-and-physiology",program:"massage",aliasTitles:["解剖生理学"]},{title:"Ethics and Communications",slug:"ethics-and-communications",program:"massage",aliasTitles:["职业道德与沟通"]},{title:"Pathology",slug:"pathology",program:"massage",aliasTitles:["病理学"]},{title:"Physical Diagnosis/Case History Taking",slug:"physical-diagnosis-case-history-taking",program:"massage",aliasTitles:["身体诊断/病史采集"]},{title:"Massage Theory and Practice 3",slug:"massage-theory-and-practice-3",program:"massage",aliasTitles:["按摩理论与实践3"]},{title:"Massage Theory and Practice 4",slug:"massage-theory-and-practice-4",program:"massage",aliasTitles:["按摩理论与实践4"]},{title:"Massage Clinical Practicum 2",slug:"massage-clinical-practicum-2",program:"massage",aliasTitles:["按摩临床实习2"]},{title:"Orthopedic Physical Diagnosis/Sport Injury",slug:"orthopedic-physical-diagnosis-sport-injury",program:"massage",aliasTitles:["骨科身体诊断/运动损伤"]},{title:"Introduction to Internal Medicine and Surgery",slug:"introduction-to-internal-medicine-and-surgery",program:"massage",aliasTitles:["内科和外科概论"]},{title:"Massage Theory and Practice 5",slug:"massage-theory-and-practice-5",program:"massage",aliasTitles:["按摩理论与实践5"]},{title:"Massage Theory and Practice 6",slug:"massage-theory-and-practice-6",program:"massage",aliasTitles:["按摩理论与实践6"]},{title:"Massage Clinical Practicum 3",slug:"massage-clinical-practicum-3",program:"massage",aliasTitles:["按摩临床实习3"]},{title:"Advanced TCM Theory",slug:"advanced-tcm-theory",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/advanced-tcm-theory/",aliasTitles:["高级中医理论"]},{title:"TCM Research Methods",slug:"tcm-research-methods",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-research-methods/",aliasTitles:["中医研究方法"]},{title:"Advanced Clinical Practice",slug:"advanced-clinical-practice",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/advanced-clinical-practice/",aliasTitles:["高级临床实践"]},{title:"TCM Classics (3)",slug:"tcm-classics-3",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-classics-3/",aliasTitles:["中医经典(3)"]},{title:"TCM Prevention and Health Maintenance",slug:"tcm-prevention-and-health-maintenance",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-prevention-and-health-maintenance/",aliasTitles:["中医预防与保健"]},{title:"Advanced Internal Medicine",slug:"advanced-internal-medicine",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/advanced-internal-medicine/",aliasTitles:["高级内科学"]},{title:"TCM Dissertation",slug:"tcm-dissertation",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/tcm-dissertation/",aliasTitles:["中医论文"]},{title:"Professional Development",slug:"professional-development",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/professional-development/",aliasTitles:["专业发展"]},{title:"Board Exam Preparation",slug:"board-exam-preparation",program:"tcm",sourceUrl:"https://cctcma.com/course-listing/board-exam-preparation/",aliasTitles:["执业考试准备"]}];function vx({slug:e,titleKey:n,defaultTitle:a,className:i}){return t.jsx($,{to:`/courses/${e}`,className:i??"underline text-primary hover:no-underline","aria-label":Y(n,a),onClick:r=>r.stopPropagation(),children:Y(n,a)})}const Od={massage:{title:"programs.massage.curriculum.title",firstSemester:{titleKey:"programs.massage.curriculum.firstSemester.title",courses:[{id:"MT101",translationKey:"courses.titles.mt-101-medical-terminology",slug:"mt-101-medical-terminology"},{id:"MT102",translationKey:"courses.titles.mt-102-anatomy-and-physiology",slug:"mt-102-anatomy-and-physiology"}
784,{id:"MT201",translationKey:"courses.titles.mt-201-musculoskeletal-anatomy",slug:"mt-201-musculoskeletal-anatomy"},{id:"MT202",translationKey:"courses.titles.mt-202-neuroanatomy",slug:"mt-202-neuroanatomy"},{id:"MT104",translationKey:"courses.titles.mt-104-massage-theory-and-practice-1",slug:"mt-104-massage-theory-and-practice-1"},{id:"MT105",translationKey:"courses.titles.mt-105-ethics-and-communications",slug:"mt-105-ethics-and-communications"},{id:"MT107",translationKey:"courses.titles.mt-107-business-skills",slug:"mt-107-business-skills"},{id:"MT109",translationKey:"courses.titles.mt-109-massage-theory-and-practice-2",slug:"mt-109-massage-theory-and-practice-2"},{id:"MT110",translationKey:"courses.titles.mt-110-massage-clinical-practicum-1",slug:"mt-110-massage-clinical-practicum-1"}]},secondSemester:{titleKey:"programs.massage.curriculum.secondSemester.title",courses:[{id:"MT106",translationKey:"courses.titles.mt-106-pathology",slug:"mt-106-pathology"},{id:"MT108",translationKey:"courses.titles.mt-108-physical-diagnosis-case-history-taking-2",slug:"mt-108-physical-diagnosis-case-history-taking-2"},{id:"MT203",translationKey:"courses.titles.mt-203-massage-theory-and-practice-3-joint-mobilizations",slug:"mt-203-massage-theory-and-practice-3-joint-mobilizations"},{id:"MT204",translationKey:"courses.titles.mt-204-massage-theory-and-practice-4-treatment-of-head-neck-and-back",slug:"mt-204-massage-theory-and-practice-4-treatment-of-head-neck-and-back"},{id:"MT210",translationKey:"courses.titles.mt-210-massage-clinical-practicum-2",slug:"mt-210-massage-clinical-practicum-2"},{id:"MT205",translationKey:"courses.titles.mt-205-orthopedic-physical-diagnosis-sport-injury",slug:"mt-205-orthopedic-physical-diagnosis-sport-injury"},{id:"MT206",translationKey:"courses.titles.mt-206-introduction-to-internal-medicine-and-surgery",slug:"mt-206-introduction-to-internal-medicine-and-surgery"},{id:"MT207",translationKey:"courses.titles.mt-207-massage-theory-and-practice-5-treatment-of-upper-and-lower-extremities",slug:"mt-207-massage-theory-and-practice-5-treatment-of-upper-and-lower-extremities"},{id:"MT208",translationKey:"courses.titles.mt-208-massage-theory-and-practice-6-sport-massage",slug:"mt-208-massage-theory-and-practice-6-sport-massage"},{id:"MT211",translationKey:"courses.titles.mt-211-massage-clinical-practicum-3",slug:"mt-211-massage-clinical-practicum-3"}]}},acupuncture:{title:"programs.acupuncture.curriculum.title",firstSemester:{titleKey:"programs.acupuncture.curriculum.firstSemester.title",courses:[{id:"S101",translationKey:"courses.titles.the-foundation-of-tcm",slug:"the-foundation-of-tcm"},{id:"S102",translationKey:"courses.titles.chinese-acupuncture-1",slug:"chinese-acupuncture-1"},{id:"S103",translationKey:"courses.titles.anatomy-and-physiology-1",slug:"anatomy-and-physiology-1"},{id:"S104",translationKey:"courses.titles.medical-terminology",slug:"medical-terminology"},{id:"S105",translationKey:"courses.titles.chinese-language-and-history-of-tcm",slug:"chinese-language-and-history-of-tcm"},{id:"S106",translationKey:"courses.titles.tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique",slug:"tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique"}]},secondSemester:{titleKey:"programs.acupuncture.curriculum.secondSemester.title",courses:[{id:"S107",translationKey:"courses.titles.diagnosis-of-tcm",slug:"diagnosis-of-tcm"},{id:"S108",translationKey:"courses.titles.chinese-acupuncture-2",slug:"chinese-acupuncture-2"},{id:"S109",translationKey:"courses.titles.chinese-herbology",slug:"chinese-herbology"},{id:"S110",translationKey:"courses.titles.anatomy-and-physiology-2",slug:"anatomy-and-physiology-2"}]},thirdSemester:{titleKey:"programs.acupuncture.curriculum.thirdSemester.title",courses:[{id:"S201",translationKey:"courses.titles.chinese-acupuncture-3",slug:"chinese-acupuncture-3"},{id:"S202",translationKey:"courses.titles.chinese-herbal-formulas",slug:"chinese-herbal-formulas"},{id:"S203",translationKey:"courses.titles.massage-1",slug:"massage-1"},{id:"S204",translationKey:"courses.titles.pathology-and-microbiology-1",slug:"pathology-and-microbiology-1"},{id:"S205",translationKey:"courses.titles.western-medical-diagnosis",slug:"western-medical-diagnosis"},{id:"S221",translationKey:"courses.titles.clinical-practicum-1",slug:"clinical-practicum-1"}]}
784,fourthSemester:{titleKey:"programs.acupuncture.curriculum.fourthSemester.title",courses:[{id:"S206",translationKey:"courses.titles.chinese-acupuncture-4",slug:"chinese-acupuncture-4"},{id:"S207",translationKey:"courses.titles.internal-medicine",slug:"internal-medicine"},{id:"S208",translationKey:"courses.titles.massage-2",slug:"massage-2"},{id:"S209",translationKey:"courses.titles.dietary-therapy",slug:"dietary-therapy"},{id:"S210",translationKey:"courses.titles.pathology-and-microbiology-2",slug:"pathology-and-microbiology-2"},{id:"S211",translationKey:"courses.titles.western-pharmacology",slug:"western-pharmacology"},{id:"S222",translationKey:"courses.titles.clinical-practicum-2",slug:"clinical-practicum-2"}]},fifthSemester:{titleKey:"programs.acupuncture.curriculum.fifthSemester.title",courses:[{id:"S301",translationKey:"courses.titles.chinese-acupuncture-5",slug:"chinese-acupuncture-5"},{id:"S304",translationKey:"courses.titles.tcm-sports-medicine",slug:"tcm-sports-medicine"},{id:"S305",translationKey:"courses.titles.case-studies-1",slug:"case-studies-1"},{id:"S307",translationKey:"courses.titles.pediatrics",slug:"pediatrics"},{id:"S341",translationKey:"courses.titles.clinical-practicum-3",slug:"clinical-practicum-3"}]},sixthSemester:{titleKey:"programs.acupuncture.curriculum.sixthSemester.title",courses:[{id:"S302",translationKey:"courses.titles.chinese-acupuncture-6",slug:"chinese-acupuncture-6"},{id:"S303",translationKey:"courses.titles.tcm-external-dermatology",slug:"tcm-external-dermatology"},{id:"S306",translationKey:"courses.titles.tcm-gynecology",slug:"tcm-gynecology"},{id:"S310",translationKey:"courses.titles.introduction-to-business-management",slug:"introduction-to-business-management"},{id:"S311",translationKey:"courses.titles.case-studies-2",slug:"case-studies-2"},{id:"S331",translationKey:"courses.titles.safety-jurisprudence",slug:"safety-jurisprudence"},{id:"S342",translationKey:"courses.titles.clinical-practicum-4",slug:"clinical-practicum-4"}]}},tcm:{title:"programs.tcm.curriculum.title",firstSemester:{titleKey:"programs.tcm.curriculum.firstSemester.title",courses:[{id:"S101",translationKey:"courses.titles.the-foundation-of-tcm",slug:"the-foundation-of-tcm"},{id:"S102",translationKey:"courses.titles.chinese-acupuncture-1",slug:"chinese-acupuncture-1"},{id:"S103",translationKey:"courses.titles.anatomy-and-physiology-1",slug:"anatomy-and-physiology-1"},{id:"S104",translationKey:"courses.titles.medical-terminology",slug:"medical-terminology"},{id:"S105",translationKey:"courses.titles.chinese-language-and-history-of-tcm",slug:"chinese-language-and-history-of-tcm"},{id:"S106",translationKey:"courses.titles.tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique",slug:"tcm-and-acupuncture-regulation-ethics-communication-skills-and-clean-needle-technique"}]},secondSemester:{titleKey:"programs.tcm.curriculum.secondSemester.title",courses:[{id:"S107",translationKey:"courses.titles.diagnosis-of-tcm",slug:"diagnosis-of-tcm"},{id:"S108",translationKey:"courses.titles.chinese-acupuncture-2",slug:"chinese-acupuncture-2"},{id:"S109",translationKey:"courses.titles.chinese-herbology",slug:"chinese-herbology"},{id:"S110",translationKey:"courses.titles.anatomy-and-physiology-2",slug:"anatomy-and-physiology-2"}]},thirdSemester:{titleKey:"programs.tcm.curriculum.thirdSemester.title",courses:[{id:"S201",translationKey:"courses.titles.chinese-acupuncture-3",slug:"chinese-acupuncture-3"},{id:"S202",translationKey:"courses.titles.chinese-herbal-formulas",slug:"chinese-herbal-formulas"},{id:"S203",translationKey:"courses.titles.massage-1",slug:"massage-1"},{id:"S204",translationKey:"courses.titles.pathology-and-microbiology-1",slug:"pathology-and-microbiology-1"},{id:"S205",translationKey:"courses.titles.western-medical-diagnosis",slug:"western-medical-diagnosis"},{id:"S221",translationKey:"courses.titles.clinical-practicum-1",slug:"clinical-practicum-1"}]},fourthSemester:{titleKey:"programs.tcm.curriculum.fourthSemester.title",courses:[{id:"S206",translationKey:"courses.titles.chinese-acupuncture-4",slug:"chinese-acupuncture-4"},{id:"S207",translationKey:"courses.titles.internal-medicine",slug:"internal-medicine"},{id:"S208",translationKey:"courses.titles.massage-2",slug:"massage-2"},{id:"S209",translationKey:"courses.titles.dietary-therapy",slug:"dietary-therapy"},{id:"S210",translationKey:"courses.titles.pathology-and-microbiology-2",slug:"pathology-and-microbiology-2"},{id:"S211",translationKey:"courses.titles.western-pharmacology",slug:"western-pharmacology"},{id:"S222",translationKey:"courses.titles.clinical-practicum-2",slug:"clinical-practicum-2"}]}
784,fifthSemester:{titleKey:"programs.tcm.curriculum.fifthSemester.title",courses:[{id:"S301",translationKey:"courses.titles.chinese-acupuncture-5",slug:"chinese-acupuncture-5"},{id:"S304",translationKey:"courses.titles.tcm-sports-medicine",slug:"tcm-sports-medicine"},{id:"S305",translationKey:"courses.titles.case-studies-1",slug:"case-studies-1"},{id:"S307",translationKey:"courses.titles.pediatrics",slug:"pediatrics"},{id:"S341",translationKey:"courses.titles.clinical-practicum-3",slug:"clinical-practicum-3"}]},sixthSemester:{titleKey:"programs.tcm.curriculum.sixthSemester.title",courses:[{id:"S302",translationKey:"courses.titles.chinese-acupuncture-6",slug:"chinese-acupuncture-6"},{id:"S303",translationKey:"courses.titles.tcm-external-dermatology",slug:"tcm-external-dermatology"},{id:"S306",translationKey:"courses.titles.tcm-gynecology",slug:"tcm-gynecology"},{id:"S310",translationKey:"courses.titles.introduction-to-business-management",slug:"introduction-to-business-management"},{id:"S311",translationKey:"courses.titles.case-studies-2",slug:"case-studies-2"},{id:"S331",translationKey:"courses.titles.safety-jurisprudence",slug:"safety-jurisprudence"},{id:"S342",translationKey:"courses.titles.clinical-practicum-4",slug:"clinical-practicum-4"}]},seventhSemester:{titleKey:"programs.tcm.curriculum.seventhSemester.title",courses:[{id:"S401",translationKey:"courses.titles.tcm-classics-huang-di-nei-jing-su-wen-and-wen-bing-xue",slug:"tcm-classics-huang-di-nei-jing-su-wen-and-wen-bing-xue"},{id:"S402",translationKey:"courses.titles.tcm-psychology",slug:"tcm-psychology"},{id:"S404",translationKey:"courses.titles.advanced-acupuncture-and-tcm",slug:"advanced-acupuncture-and-tcm"},{id:"S405",translationKey:"courses.titles.botanical-pharmacology",slug:"botanical-pharmacology"},{id:"S406",translationKey:"courses.titles.tcm-preventive-medicine",slug:"tcm-preventive-medicine"},{id:"S421",translationKey:"courses.titles.western-internal-medicine",slug:"western-internal-medicine"},{id:"S441",translationKey:"courses.titles.clinical-practicum-5",slug:"clinical-practicum-5"}]},eighthSemester:{titleKey:"programs.tcm.curriculum.eighthSemester.title",courses:[{id:"S442",translationKey:"courses.titles.clinical-practicum-6",slug:"clinical-practicum-6"}]}}};function wx(e){const n={};return Object.keys(Od).forEach(a=>{const i=Od[a];n[a]={title:e(i.title,{defaultValue:a.charAt(0).toUpperCase()+a.slice(1)+" Curriculum"})}
784,Object.keys(i).forEach(r=>{if(r!=="title"){const s=i[r];n[a][r]={title:e(s.titleKey,{defaultValue:`Semester ${r}`}),courses:s.courses.map(o=>({id:o.id,name:e(o.translationKey,{defaultValue:o.id}),slug:o.slug}))}}})}),n}function Cx(e){let n="";if(typeof e=="string")n=e;else if(typeof e=="number")n=e.toString();else if(we.isValidElement(e))if(typeof e.props.children=="string")n=e.props.children;else return e;else return e;if(!n)return n;const a=/\{\{link:([^:]+):([^}]+)\}\}/g,i=[];let r=0,s,o=0;for(;(s=a.exec(n))!==null;){s.index>r&&i.push(n.substring(r,s.index));const c=s[1],l=s[2];i.push(t.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"text-sky-700 underline hover:text-sky-800 font-medium",children:c},o++)),r=s.index+s[0].length}return r<n.length&&i.push(n.substring(r)),i.length===0?n:t.jsx(t.Fragment,{children:i})}function Kd({children:e}){let n="";return typeof e=="string"?n=e:typeof e=="number"?n=e.toString():we.isValidElement(e)?typeof e.props.children=="string"?n=e.props.children:typeof e.props.children=="number"?n=e.props.children.toString():n=String(e.props.children||""):Array.isArray(e)?n=e.map(a=>typeof a=="string"?a:typeof a=="number"?a.toString():"").join(""):n=String(e||""),t.jsx(t.Fragment,{children:Cx(n)})}function jx({curriculum:e,programId:n}){const{t:a,i18n:i}=V(),[r,s]=w.useState(new Set);if(!e)return null;const o=c=>{const l=new Set(r);l.has(c)?l.delete(c):l.add(c),s(l)};return t.jsx("div",{className:"space-y-4",children:Object.keys(e).filter(c=>c!=="title").map((c,l)=>{var u;const d=e[c],p=r.has(c);return t.jsxs("div",{className:"border border-programs-200 rounded-lg overflow-hidden bg-white shadow-sm",children:[t.jsxs("button",{onClick:()=>o(c),className:"w-full flex items-center justify-between p-6 text-left hover:bg-programs-50 transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-programs-500 focus:ring-inset",children:[t.jsxs("div",{className:"flex items-center",children:[t.jsx("div",{className:"w-8 h-8 bg-programs-600 rounded-full flex items-center justify-center text-white font-bold mr-4",children:l+1}),t.jsx(g,{contentKey:`programs_${n}_curriculum_${c}_title`,translationKey:`programs.${n}.curriculum.${c}.title`,className:"text-xl font-semibold text-programs-700",children:d.title})]}),t.jsxs("div",{className:"flex items-center",children:[d.totalHours&&t.jsx("div",{className:"bg-programs-100 text-programs-700 px-3 py-1 rounded-full text-sm font-medium mr-4",children:a("programDetail.totalHours",{totalHours:d.totalHours})}),t.jsx("svg",{className:`w-5 h-5 text-programs-600 transition-transform duration-200 ${p?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),p&&t.jsx("div",{className:"border-t border-programs-200 bg-gray-50",children:t.jsx("div",{className:"p-6",children:t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"w-full border border-programs-200 rounded-lg overflow-hidden bg-white",children:[t.jsx("thead",{className:"bg-programs-100",children:t.jsxs("tr",{children:[t.jsx("th",{className:"text-left p-4 font-semibold text-programs-800 border-b border-programs-200",children:a("programDetail.courseId")}),t.jsx("th",{className:"text-left p-4 font-semibold text-programs-800 border-b border-programs-200",children:a("programDetail.courseName")})]})}),t.jsx("tbody",{children:(u=d.courses)==null?void 0:u.map((m,h)=>t.jsxs("tr",{className:"hover:bg-programs-25 transition-colors duration-200",children:[t.jsx("td",{className:"p-4 font-mono text-programs-700 border-b border-programs-100 font-medium",children:t.jsx(g,{contentKey:`programs_${n}_curriculum_${c}_course_${h}_id`,translationKey:`programs.${n}.curriculum.${c}.courses.${h}.id`,className:"",children:m.id})}),t.jsx("td",{className:"p-4 text-gray-900 border-b border-programs-100 course-name",children:(()=>{const x=m.slug?{slug:m.slug,sourceUrl:`https://cctcma.com/course-listing/${m.slug}/`}:xx(m.name);return x&&x.sourceUrl?t.jsx(g,{contentKey:`programs_${n}_curriculum_${c}_course_${h}
784_name`,translationKey:`programs.${n}.curriculum.${c}.courses.${h}.name`,className:"",passThroughClicks:!0,children:t.jsx(vx,{slug:x.slug,titleKey:`courses.${x.slug}.title`,defaultTitle:m.name,className:"text-sky-700 underline hover:text-sky-800"})}):t.jsx(g,{contentKey:`programs_${n}_curriculum_${c}_course_${h}_name`,translationKey:`programs.${n}.curriculum.${c}.courses.${h}.name`,className:"",children:m.name})})()})]},h))})]})})})})]},c)})})}function Fd(){const{id:e}=fp(),{t:n,i18n:a}=V();ie();const i=wx(n),r=n(`programs.details.${e}`,{returnObjects:!0}),s=n(`programs.${e}.features`,{returnObjects:!0});return!r||typeof r=="string"?t.jsxs("div",{className:"min-h-screen bg-white flex items-center justify-center relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-20 left-10 w-32 h-32 border-2 border-programs-300 rounded-full animate-float"}),t.jsx("div",{className:"absolute bottom-20 right-10 w-24 h-24 border-2 border-programs-300 rounded-full animate-float-delayed"}),t.jsx("div",{className:"absolute top-1/3 right-1/4 w-16 h-16 border-2 border-programs-300 rounded-full animate-float"}),t.jsxs("div",{className:"text-center relative z-10 bg-white/80 backdrop-blur-sm rounded-2xl p-12 border border-programs-500 shadow-2xl",children:[t.jsx(g,{contentKey:"programDetail.notFound.title",translationKey:"programs.details.notFound",className:"text-5xl font-bold text-programs-600 mb-6 font-chinese",children:n("programs.details.notFound")}),t.jsx($,{to:"/programs",className:"inline-flex items-center px-8 py-4 bg-programs-600 text-white font-medium rounded-full hover:bg-programs-700 transform hover:scale-105 transition-all duration-300 shadow-lg",children:t.jsx(g,{contentKey:"programDetail.notFound.backButton",translationKey:"programs.details.backToPrograms",className:"",children:n("programs.details.backToPrograms")})})]})]}):t.jsxs("div",{className:"min-h-screen bg-white relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-10 left-10 w-40 h-40 border-2 border-accent-200/20 rounded-full animate-float"}),t.jsx("div",{className:"absolute top-40 right-20 w-32 h-32 border-2 border-primary-200/20 rounded-full animate-float-delayed"}),t.jsx("div",{className:"absolute bottom-20 left-1/4 w-24 h-24 border-2 border-secondary-200/20 rounded-full animate-float"}),t.jsx("div",{className:"absolute bottom-40 right-10 w-20 h-20 border-2 border-accent-200/20 rounded-full animate-float-delayed"}),t.jsx(re,{title:t.jsx(g,{contentKey:`programDetail.${e}.title`,translationKey:`programDetail.${e}.title`,className:"",children:r.title}),subtitle:t.jsxs("div",{className:"flex items-center justify-center",children:[t.jsx("span",{className:"w-8 h-8 bg-accent-400 rounded-full flex items-center justify-center mr-3",children:t.jsx("svg",{className:"w-4 h-4 text-white",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z",clipRule:"evenodd"})})}),t.jsx(g,{contentKey:"programDetail.courseDuration.label",translationKey:"programs.details.courseDuration",className:"",children:n("programs.details.courseDuration")}),t.jsx(g,{contentKey:`programDetail.${e}.headerDuration`,translationKey:`programDetail.${e}.headerDuration`,className:"",children:r.duration})]})}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 relative z-10",children:[t.jsxs("div",{className:"grid md:grid-cols-3 gap-12",children:[t.jsxs("div",{className:"md:col-span-2 space-y-16",children:[t.jsxs("section",{className:"bg-white/80 backdrop-blur-sm rounded-2xl p-8 border border-accent-200/50 shadow-xl hover:shadow-2xl transition-shadow duration-300",children:[t.jsxs("div",{className:"flex items-center mb-6",children:[t.jsx("div",{className:"w-12 h-12 bg-programs-600 rounded-full flex items-center justify-center mr-4",children:t.jsx("svg",{className:"w-6 h-6 text-white",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})}),t.jsx(g,{contentKey:`programs_${e}_know_program_title`,translationKey:`programs.${e}.knowYourProgram.title`,className:"text-3xl font-bold text-programs-600 font-chinese",children:n("programDetail.knowYourProgram")})]}),t.jsx("div",{className:"w-24 h-1 bg-programs-600 rounded-full mb-6"}),t.jsx(g,{contentKey:`programs_${e}_description`,translationKey:`programs.${e}.description`,className:"text-secondary-600 leading-relaxed text-lg whitespace-pre-line",multiline:!0,children:t.jsx(Kd,{children:r.description||""})})]}),s&&typeof s=="object"&&t.jsx("div",{className:"space-y-8",children:Object.keys(s).map(o=>{const c=s[o],l={integratedStudy:t.jsx("svg",{className:"w-12 h-12 text-primary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.746 0 3.332.477 4.5 1.253v13C19.832 18.477 18.246 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"})}),financialAssistance:t.jsx("svg",{className:"w-12 h-12 text-primary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})}),professionalRecognition:t.jsx("svg",{className:"w-12 h-12 text-primary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"})}),handsOnLearning:t.jsx("svg",{className:"w-12 h-12 text-primary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z"})}),teachingExperience:t.jsx("svg",{className:"w-12 h-12 text-primary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"})}),licenseExamReady:t.jsx("svg",{className:"w-12 h-12 text-primary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"})}),internationalInternship:t.jsx("svg",{className:"w-12 h-12 text-primary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 
7840 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})};return t.jsx("section",{className:"bg-white/80 backdrop-blur-sm rounded-2xl p-8 border border-accent-200/50 shadow-xl hover:shadow-2xl transition-shadow duration-300",children:t.jsxs("div",{className:"flex items-start gap-6",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary-100 to-accent-100 rounded-2xl flex items-center justify-center border-2 border-primary-200",children:l[o]||l.integratedStudy})}),t.jsxs("div",{className:"flex-grow",children:[t.jsx(g,{contentKey:`programs_${e}_feature_${o}_title`,translationKey:`programs.${e}.features.${o}.title`,className:"text-2xl font-bold text-secondary-900 mb-4 font-chinese",defaultValue:c.title}),t.jsx(g,{contentKey:`programs_${e}_feature_${o}_description`,translationKey:`programs.${e}.features.${o}.description`,className:"text-secondary-600 leading-relaxed text-lg whitespace-pre-line",multiline:!0,defaultValue:c.description,children:t.jsx(Kd,{children:c.description||""})}),c.additional&&t.jsx(g,{contentKey:`programs_${e}_feature_${o}_additional`,translationKey:`programs.${e}.features.${o}.additional`,className:"text-secondary-600 leading-relaxed text-lg mt-3",multiline:!0,defaultValue:c.additional})]})]})},o)})})]}),t.jsxs("div",{className:"space-y-8",children:[t.jsxs("div",{className:"bg-white/80 backdrop-blur-sm rounded-2xl p-8 border border-accent-200/50 shadow-xl hover:shadow-2xl transition-shadow duration-300",children:[t.jsxs("div",{className:"flex items-center mb-6",children:["                ",t.jsx("div",{className:"w-10 h-10 bg-programs-600 rounded-full flex items-center justify-center mr-3",children:t.jsx("svg",{className:"w-5 h-5 text-white",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M11.3 1.046A1 1 0 0112 2v5h4a1 1 0 01.82 1.573l-7 10A1 1 0 018 18v-5H4a1 1 0 01-.82-1.573l7-10a1 1 0 011.12-.38z",clipRule:"evenodd"})})}),t.jsx(g,{contentKey:"programDetail.sidebar.duration",translationKey:"programs.details.duration",className:"text-2xl font-semibold text-programs-600",children:n("programs.details.duration")})]}),t.jsx(g,{contentKey:`programDetail.${e}.duration`,translationKey:`programDetail.${e}.duration`,className:"text-black text-lg leading-relaxed mb-6",children:r.duration}),t.jsx($,{to:"/admission/apply",className:"group block w-full bg-programs-600 text-white px-8 py-4 rounded-full hover:bg-programs-700 transform hover:scale-105 transition-all duration-300 text-center font-medium shadow-lg",children:t.jsx(g,{contentKey:"programDetail.sidebar.applyNow",translationKey:"programs.details.applyNow",className:"",children:n("programs.details.applyNow")})}),t.jsx("a",{href:"https://cctcma.janeapp.com/",target:"_blank",rel:"noopener noreferrer",className:"group block w-full border-2 border-programs-600 text-programs-600 px-8 py-4 rounded-full hover:bg-programs-50 hover:border-programs-700 hover:text-programs-700 transform hover:scale-105 transition-all duration-300 text-center font-medium mt-4",children:t.jsx(g,{contentKey:"programDetail.sidebar.bookConsultation",translationKey:"programs.details.bookConsultation",className:"",children:n("programs.details.bookConsultation")})})]}),t.jsxs("div",{className:"bg-white/80 backdrop-blur-sm rounded-2xl p-8 border border-accent-200/50 shadow-xl hover:shadow-2xl transition-shadow duration-300",children:[t.jsxs("div",{className:"flex items-center mb-6",children:[t.jsx("div",{className:"w-10 h-10 bg-programs-600 rounded-full flex items-center justify-center mr-3",children:t.jsxs("svg",{className:"w-5 h-5 text-white",fill:"currentColor",viewBox:"0 0 20 20",children:[t.jsx("path",{d:"M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z"}),t.jsx("path",{d:"M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z"})]})}),t.jsx(g,{contentKey:"programDetail.sidebar.contactInfo",translationKey:"programs.details.contactInfo",className:"text-2xl font-semibold text-programs-600",children:n("programs.details.contactInfo")})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("a",{href:"tel:+14032878688",className:"group flex items-center p-4 rounded-xl bg-programs-50 border border-programs-300 hover:border-programs-500 hover:shadow-md transition-all duration-300",children:[t.jsx("svg",{className:"w-6 h-6 text-programs-600 mr-3 group-hover:scale-110 transition-transform duration-300",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{d:"M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z"})}),t.jsx(g,{contentKey:"programDetail.contact.phone",translationKey:"programDetail.contact.phone",className:"text-black hover:text-programs-600 transition-colors duration-300 font-medium",children:"1-403-287-8688"})]}),t.jsxs("a",{href:"mailto:[email protected]",className:"group flex items-center p-4 rounded-xl bg-programs-50 border border-programs-300 hover:border-programs-500 hover:shadow-md transition-all duration-300",children:[t.jsxs("svg",{className:"w-6 h-6 text-programs-600 mr-3 group-hover:scale-110 transition-transform duration-300",fill:"currentColor",viewBox:"0 0 20 20",children:[t.jsx("path",{d:"M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z"}),t.jsx("path",{d:"M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z"})]}),t.jsx(g,{contentKey:"programDetail.contact.email",translationKey:"programDetail.contact.email",className:"text-black hover:text-programs-600 transition-colors duration-300 font-medium",children:"[email protected]"})]}),t.jsxs("div",{className:"group flex items-center p-4 rounded-xl bg-programs-50 border border-programs-300 hover:border-programs-500 hover:shadow-md transition-all duration-300",children:[t.jsx("svg",{className:"w-6 h-6 text-programs-600 mr-3 group-hover:scale-110 transition-transform duration-300",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z",clipRule:"evenodd"})}),t.jsx(g,{contentKey:"programDetail.contact.address",translationKey:"programDetail.contact.address",className:"text-black hover:text-programs-600 transition-colors duration-300 font-medium",children:"107 and 217, 4014 Macleod Trail South, Calgary, AB, Canada T2G 2R7"})]})]})]})]})]}),t.jsx("div",{className:"mt-16",children:t.jsxs("section",{className:"bg-white/80 backdrop-blur-sm rounded-2xl p-8 border border-accent-200/50 shadow-xl hover:shadow-2xl transition-shadow duration-300",children:[t.jsxs("div",{className:"flex items-center mb-6",children:[t.jsx("div",{className:"w-12 h-12 bg-programs-600 rounded-full flex items-center justify-center mr-4",children:t.jsx("svg",{className:"w-6 h-6 text-white",f
784ill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{d:"M7 3a1 1 0 000 2h6a1 1 0 100-2H7zM4 7a1 1 0 011-1h10a1 1 0 110 2H5a1 1 0 01-1-1zM2 11a2 2 0 012-2h12a2 2 0 012 2v4a2 2 0 01-2 2H4a2 2 0 01-2-2v-4z"})})}),t.jsx(g,{contentKey:"programDetail.section.curriculum",translationKey:"programs.details.curriculum",className:"text-3xl font-bold text-programs-600 font-chinese",children:n("programs.details.curriculum")})]}),t.jsx("div",{className:"w-24 h-1 bg-programs-600 rounded-full mb-8"}),t.jsx(jx,{curriculum:e==="tcm"&&a.language==="zh"?i[e]:r.curriculum,programId:e})]})})]})]})}function Hd(){const{t:e}=V();ie();const n=[{id:"requirements",title:e("admission.sections.requirements.title"),content:e("admission.sections.requirements.content"),linkText:e("admission.sections.requirements.link"),linkTo:"/admissions/requirements"},{id:"tuition",title:e("admission.sections.tuition.title"),content:e("admission.sections.tuition.content"),linkText:e("admission.sections.tuition.link"),linkTo:"/admission/fees"},{id:"international",title:e("page16898.international.title"),content:e("page16898.international.content"),linkText:e("page16898.international.link"),linkTo:"/admissions/international"}],a=[{step:1,title:e("admission.applicationSteps.step1.title"),description:e("admission.applicationSteps.step1.description")},{step:2,title:e("admission.applicationSteps.step2.title"),description:e("admission.applicationSteps.step2.description")},{step:3,title:e("admission.applicationSteps.step3.title"),description:e("admission.applicationSteps.step3.description")},{step:4,title:e("admission.applicationSteps.step4.title"),description:e("admission.applicationSteps.step4.description")}];return t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-secondary-50 via-white to-accent-50 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-10 left-10 w-20 h-20 text-accent-300/20 animate-float",children:t.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"})})}),t.jsx("div",{className:"absolute top-32 right-16 w-16 h-16 text-primary-300/20 animate-float-delayed",children:t.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("circle",{cx:"12",cy:"12",r:"10"})})}),t.jsx("div",{className:"absolute bottom-20 left-1/4 w-12 h-12 text-accent-300/20 animate-pulse",children:t.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("path",{d:"M12 0L15.09 8.26L24 9L17 14.14L18.18 23L12 19L5.82 23L7 14.14L0 9L8.91 8.26L12 0Z"})})}),t.jsx(re,{title:Y("admission.hero.title","Admissions"),subtitle:Y("admission.hero.subtitle","Start your journey in Traditional Chinese Medicine")}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12",children:[t.jsxs("section",{className:"mb-16",children:[t.jsx(g,{contentKey:"admission_apply_process_title",translationKey:"admission.applyProcess.title",className:"text-3xl font-bold text-center mb-12 text-neutral-900 font-chinese",children:t.jsx("h2",{className:"text-3xl font-bold text-center mb-12 text-neutral-900 font-chinese",children:e("admission.applyProcess.title")})}),t.jsx("div",{className:"grid md:grid-cols-4 gap-8",children:a.map(i=>t.jsxs("div",{className:"bg-gradient-to-br from-white to-accent-50 p-6 rounded-lg text-center relative border border-accent-200 hover:shadow-lg hover:shadow-accent-200/25 transition-all duration-300 transform hover:scale-105 group",children:[t.jsx("div",{className:"absolute -top-4 left-1/2 transform -translate-x-1/2",children:t.jsx("div",{className:"w-8 h-8 bg-gradient-to-br from-primary-600 to-primary-700 text-white rounded-full flex items-center justify-center font-bold shadow-lg group-hover:scale-110 transition-transform duration-200",children:i.step})}),t.jsx("div",{className:"absolute top-2 right-2 w-3 h-3 border-t-2 border-r-2 border-accent-400 opacity-50"}),t.jsx("div",{className:"absolute bottom-2 left-2 w-3 h-3 border-b-2 border-l-2 border-accent-400 opacity-50"}),t.jsx(g,{contentKey:`admission_step_${i.step}_title`,translationKey:`admission.applicationSteps.step${i.step}.title`,className:"text-xl font-semibold mt-4 mb-2 text-neutral-800 font-chinese",children:t.jsx("h3",{className:"text-xl font-semibold mt-4 mb-2 text-neutral-800 font-chinese",children:i.title})}),t.jsx(g,{contentKey:`admission_step_${i.step}_description`,translationKey:`admission.applicationSteps.step${i.step}.description`,className:"text-secondary-600",multiline:!0,children:t.jsx("p",{className:"text-secondary-600",children:i.description})})]},i.step))})]}),t.jsxs("section",{className:"mb-16",children:[t.jsx(g,{contentKey:"admission_information_title",translationKey:"admission.information.title",className:"text-3xl font-bold text-center mb-12 text-neutral-900 font-chinese",children:t.jsx("h2",{className:"text-3xl font-bold text-center mb-12 text-neutral-900 font-chinese",children:e("admission.information.title")})}),t.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:n.map((i,r)=>t.jsxs("div",{className:"bg-gradient-to-br from-white to-accent-50 border border-accent-200 rounded-lg p-6 hover:shadow-xl hover:shadow-accent-200/25 transition-all duration-300 transform hover:scale-105 relative overflow-hidden group",children:[t.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-accent-500 via-primary-500 to-accent-500"}),t.jsx("div",{className:"absolute top-4 right-4 w-8 h-8 border-2 border-accent-300/30 rotate-45 transform group-hover:rotate-90 transition-transform duration-300"}),t.jsx(g,{contentKey:`admission_section_${i.id}_title`,translationKey:`admission.sections.${i.id}.title`,className:"text-2xl font-bold mb-4 text-neutral-900 font-chinese",children:t.jsx("h3",{className:"text-2xl font-bold mb-4 text-neutral-900 font-chinese",children:i.title})}),t.jsx(g,{contentKey:`admission_section_${i.id}_content`,translationKey:`admission.sections.${i.id}.content`,className:"prose max-w-none mb-6 whitespace-pre-line text-secondary-600 leading-relaxed",multiline:!0,children:t.jsx("div",{className:"prose max-w-none mb-6 whitespace-pre-line",children:i.content.split("\\n\\n").map((s,o)=>t.jsx("p",{className:"text-secondary-600 mb-4 leading-relaxed",children:s},o))})}),t.jsxs($,{to:i.linkTo,className:"text-primary-600 hover:text-primary-700 font-medium inline-flex items-center group-hover:translate-x-1 transition-all duration-200 font-chinese",children:[t.jsx(g,{contentKey:`admission_section_${i.id}_link`,translationKey:`admission.sections.${i.id}.link`,className:"",children:t.jsx("span",{children:i.linkText})}),t.jsx("svg",{className:"w-4 h-4 ml-2 group-hover:ml-3 transition-all duration-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})]})]},i.id))})]}),t.jsx("section",{className:"rounded-2xl border border-accent-200 relative overflow-hidden",children:t.jsxs("div",{className:"flex flex-col lg:flex-row items-stretch min-h-[400px]",children:[t.jsx("div",{className:"lg:w-1/2",children:t.jsx(ze,{contentKey:"admission_cta_image",src:"/images/Admissions/ready-to-start.png",alt:"Ready to start your TCM journey",className:"w-full h-full min-h-[400px] object-cover lg:rou
784nded-l-2xl"})}),t.jsxs("div",{className:"lg:w-1/2 bg-white p-12 text-center relative lg:rounded-r-2xl flex flex-col justify-center",children:[t.jsx("div",{className:"absolute top-0 left-0 w-20 h-20 border-4 border-accent-300/20 rounded-full -translate-x-10 -translate-y-10"}),t.jsx("div",{className:"absolute bottom-0 right-0 w-16 h-16 bg-accent-300/10 rounded-full translate-x-8 translate-y-8"}),t.jsx(g,{contentKey:"admission_cta_title",translationKey:"admission.cta.title",className:"text-3xl font-bold mb-4 text-neutral-900 font-chinese",children:t.jsx("h2",{className:"text-3xl font-bold mb-4 text-neutral-900 font-chinese",children:e("admission.cta.title")})}),t.jsx(g,{contentKey:"admission_cta_description",translationKey:"admission.cta.description",className:"text-lg text-secondary-600 mb-8 max-w-2xl mx-auto leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-lg text-secondary-600 mb-8 max-w-2xl mx-auto leading-relaxed",children:e("admission.cta.description")})}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-6 justify-center",children:[t.jsx($,{to:"/admission/apply",className:"bg-gradient-to-r from-primary-600 to-primary-700 text-white px-10 py-4 rounded-full hover:from-primary-700 hover:to-primary-800 transition-all duration-300 font-semibold transform hover:scale-105 shadow-lg",children:t.jsx(g,{contentKey:"admission_cta_apply_button",translationKey:"admission.cta.applyButton",className:"",children:t.jsx("span",{children:e("admission.cta.applyButton")})})}),t.jsx($,{to:"/contact",className:"border-2 border-primary-600 text-primary-600 px-10 py-4 rounded-full hover:bg-primary-50 transition-all duration-300 font-semibold transform hover:scale-105",children:t.jsx(g,{contentKey:"admission_cta_contact_button",translationKey:"admission.cta.contactButton",className:"",children:t.jsx("span",{children:e("admission.cta.contactButton")})})})]})]})]})})]})]})}function zd(){const{t:e}=V();return t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"w-full border-collapse border border-accent-300 rounded-lg overflow-hidden",children:[t.jsx("thead",{className:"bg-accent-100",children:t.jsxs("tr",{children:[t.jsx("th",{className:"border border-accent-300 px-4 py-3 text-left font-semibold text-neutral-800",children:e("admission.requirements.english.testTable.test")}),t.jsx("th",{className:"border border-accent-300 px-4 py-3 text-left font-semibold text-neutral-800",children:e("admission.requirements.english.testTable.minimumScore")})]})}),t.jsxs("tbody",{children:[t.jsxs("tr",{className:"bg-white",children:[t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"IELTS"}),t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"Overall 5"})]}),t.jsxs("tr",{className:"bg-accent-50",children:[t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"TOEFL iBT"}),t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"53"})]}),t.jsxs("tr",{className:"bg-white",children:[t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"CLB"}),t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"6"})]}),t.jsxs("tr",{className:"bg-accent-50",children:[t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"CELPIP General Test"}),t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"6"})]}),t.jsxs("tr",{className:"bg-white",children:[t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"Cambridge English"}),t.jsx("td",{className:"border border-accent-300 px-4 py-3 text-secondary-700",children:"CAE-C, CAE-B, CPE-C"})]})]})]})})}function qd(){const{t:e}=V();return ie(),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-secondary-50 via-white to-accent-50 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-10 left-10 w-20 h-20 text-accent-300/20 animate-float",children:t.jsx("svg",{viewBox:"0 0 24 24",fill:"
784currentColor",children:t.jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"})})}),t.jsx("div",{className:"absolute top-32 right-16 w-16 h-16 text-primary-300/20 animate-float-delayed",children:t.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("circle",{cx:"12",cy:"12",r:"10"})})}),t.jsx("div",{className:"absolute bottom-20 left-1/4 w-12 h-12 text-accent-300/20 animate-pulse",children:t.jsx("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("path",{d:"M12 0L15.09 8.26L24 9L17 14.14L18.18 23L12 19L5.82 23L7 14.14L0 9L8.91 8.26L12 0Z"})})}),t.jsx(re,{title:e("admission.requirements.hero.title"),subtitle:e("admission.requirements.hero.subtitle")}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12",children:[t.jsx("section",{className:"mb-16",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"admission_requirements_acupuncture_title",translationKey:"admission.requirements.acupuncture.title",className:"text-3xl font-bold mb-8 text-neutral-900 font-chinese border-b-2 border-accent-200 pb-4",children:t.jsx("h2",{className:"text-3xl font-bold mb-8 text-neutral-900 font-chinese border-b-2 border-accent-200 pb-4",children:e("admission.requirements.acupuncture.title")})}),t.jsxs("div",{className:"mb-8",children:[t.jsx(g,{contentKey:"admission_requirements_standard_admission_title",translationKey:"admission.requirements.standardAdmission.title",className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h3",{className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.standardAdmission.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("admission.requirements.standardAdmission.content").split(`
785
786`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]}),t.jsxs("div",{className:"mb-8",children:[t.jsx(g,{contentKey:"admission_requirements_mature_admission_title",translationKey:"admission.requirements.matureAdmission.title",className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h3",{className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.matureAdmission.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("admission.requirements.matureAdmission.content").split(`
787
788`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]})]})}),t.jsx("section",{className:"mb-16",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"admission_requirements_massage_title",translationKey:"admission.requirements.massage.title",className:"text-3xl font-bold mb-8 text-neutral-900 font-chinese border-b-2 border-accent-200 pb-4",children:t.jsx("h2",{className:"text-3xl font-bold mb-8 text-neutral-900 font-chinese border-b-2 border-accent-200 pb-4",children:e("admission.requirements.massage.title")})}),t.jsxs("div",{className:"mb-8",children:[t.jsx(g,{contentKey:"admission_requirements_massage_standard_title",translationKey:"admission.requirements.massage.standardAdmission.title",className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h3",{className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.massage.standardAdmission.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("admission.requirements.massage.standardAdmission.content").split(`
789
790`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]}),t.jsxs("div",{className:"mb-8",children:[t.jsx(g,{contentKey:"admission_requirements_massage_mature_title",translationKey:"admission.requirements.massage.matureAdmission.title",className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h3",{className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.massage.matureAdmission.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("admission.requirements.massage.matureAdmission.content").split(`
791
792`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]})]})}),t.jsx("section",{className:"mb-16",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"admission_requirements_english_title",translationKey:"admission.requirements.english.title",className:"text-3xl font-bold mb-8 text-neutral-900 font-chinese border-b-2 border-accent-200 pb-4",children:t.jsx("h2",{className:"text-3xl font-bold mb-8 text-neutral-900 font-chinese border-b-2 border-accent-200 pb-4",children:e("admission.requirements.english.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3 mb-8",children:e("admission.requirements.english.intro").split(`
793
794`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))}),t.jsxs("div",{className:"mb-10",children:[t.jsx(g,{contentKey:"admission_requirements_english_acupuncture_title",translationKey:"admission.requirements.english.acupunctureProgram.title",className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h3",{className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.english.acupunctureProgram.title")})}),t.jsx(g,{contentKey:"admission_requirements_english_acupuncture_intro",translationKey:"admission.requirements.english.acupunctureProgram.intro",className:"text-secondary-700 leading-relaxed mb-6",children:t.jsx("p",{className:"text-secondary-700 leading-relaxed mb-6",children:e("admission.requirements.english.acupunctureProgram.intro")})}),t.jsxs("div",{className:"mb-8",children:[t.jsx(g,{contentKey:"admission_requirements_english_acupuncture_prior_title",translationKey:"admission.requirements.english.acupunctureProgram.priorEducation.title",className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h4",{className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.english.acupunctureProgram.priorEducation.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("admission.requirements.english.acupunctureProgram.priorEducation.content").split(`
795
796`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]}),t.jsxs("div",{className:"mb-8",children:[t.jsx(g,{contentKey:"admission_requirements_english_acupuncture_tests_title",translationKey:"admission.requirements.english.acupunctureProgram.approvedTests.title",className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h4",{className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.english.acupunctureProgram.approvedTests.title")})}),t.jsx(g,{contentKey:"admission_requirements_english_acupuncture_tests_content",translationKey:"admission.requirements.english.acupunctureProgram.approvedTests.content",className:"text-secondary-700 leading-relaxed mb-4",children:t.jsx("p",{className:"text-secondary-700 leading-relaxed mb-4",children:e("admission.requirements.english.acupunctureProgram.approvedTests.content")})}),t.jsx(zd,{})]}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("admission.requirements.english.acupunctureProgram.note").split(`
797
798`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]}),t.jsxs("div",{className:"mb-10",children:[t.jsx(g,{contentKey:"admission_requirements_english_massage_title",translationKey:"admission.requirements.english.massageProgram.title",className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h3",{className:"text-2xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.english.massageProgram.title")})}),t.jsx(g,{contentKey:"admission_requirements_english_massage_intro",translationKey:"admission.requirements.english.massageProgram.intro",className:"text-secondary-700 leading-relaxed mb-6",children:t.jsx("p",{className:"text-secondary-700 leading-relaxed mb-6",children:e("admission.requirements.english.massageProgram.intro")})}),t.jsxs("div",{className:"mb-8",children:[t.jsx(g,{contentKey:"admission_requirements_english_massage_prior_title",translationKey:"admission.requirements.english.massageProgram.priorEducation.title",className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h4",{className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.english.massageProgram.priorEducation.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("admission.requirements.english.massageProgram.priorEducation.content").split(`
799
800`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]}),t.jsxs("div",{className:"mb-8",children:[t.jsx(g,{contentKey:"admission_requirements_english_massage_tests_title",translationKey:"admission.requirements.english.massageProgram.approvedTests.title",className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h4",{className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.english.massageProgram.approvedTests.title")})}),t.jsx(g,{contentKey:"admission_requirements_english_massage_tests_content",translationKey:"admission.requirements.english.massageProgram.approvedTests.content",className:"text-secondary-700 leading-relaxed mb-4",children:t.jsx("p",{className:"text-secondary-700 leading-relaxed mb-4",children:e("admission.requirements.english.massageProgram.approvedTests.content")})}),t.jsx(zd,{})]}),t.jsxs("div",{className:"mb-8",children:[t.jsx(g,{contentKey:"admission_requirements_english_massage_alternatives_title",translationKey:"admission.requirements.english.massageProgram.alternatives.title",className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:t.jsx("h4",{className:"text-xl font-semibold mb-4 text-primary-700 font-chinese",children:e("admission.requirements.english.massageProgram.alternatives.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("admission.requirements.english.massageProgram.alternatives.content").split(`
801
802`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]})]}),t.jsx("div",{className:"bg-accent-50 rounded-lg p-6 border border-accent-200",children:t.jsx(g,{contentKey:"admission_requirements_english_contact",translationKey:"admission.requirements.english.contact",className:"text-secondary-700 leading-relaxed",children:t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:e("admission.requirements.english.contact")})})})]})}),t.jsxs("section",{className:"bg-gradient-to-br from-accent-50 to-primary-50 rounded-2xl p-12 text-center border border-accent-200 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 left-0 w-20 h-20 border-4 border-accent-300/20 rounded-full -translate-x-10 -translate-y-10"}),t.jsx("div",{className:"absolute bottom-0 right-0 w-16 h-16 bg-accent-300/10 rounded-full translate-x-8 translate-y-8"}),t.jsx(g,{contentKey:"admission_requirements_cta_title",translationKey:"admission.requirements.cta.title",className:"text-3xl font-bold mb-4 text-neutral-900 font-chinese",children:t.jsx("h2",{className:"text-3xl font-bold mb-4 text-neutral-900 font-chinese",children:e("admission.requirements.cta.title")})}),t.jsx(g,{contentKey:"admission_requirements_cta_description",translationKey:"admission.requirements.cta.description",className:"text-lg text-secondary-600 mb-8 max-w-2xl mx-auto leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-lg text-secondary-600 mb-8 max-w-2xl mx-auto leading-relaxed",children:e("admission.requirements.cta.description")})}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-6 justify-center",children:[t.jsx("a",{href:"/admission/apply",className:"bg-gradient-to-r from-primary-600 to-primary-700 text-white px-10 py-4 rounded-full hover:from-primary-700 hover:to-primary-800 transition-all duration-300 font-semibold transform hover:scale-105 shadow-lg",children:t.jsx(g,{contentKey:"admission_requirements_cta_apply_button",translationKey:"admission.requirements.cta.applyButton",className:"",children:t.jsx("span",{children:e("admission.requirements.cta.applyButton")})})}),t.jsx("a",{href:"/contact",className:"border-2 border-primary-600 text-primary-600 px-10 py-4 rounded-full hover:bg-primary-50 transition-all duration-300 font-semibold transform hover:scale-105",children:t.jsx(g,{contentKey:"admission_requirements_cta_contact_button",translationKey:"admission.requirements.cta.contactButton",className:"",children:t.jsx("span",{children:e("admission.requirements.cta.contactButton")})})})]})]})]})]})}function Bd(){const{t:e}=V();return t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-accent-50 via-white to-primary-50",children:[t.jsxs(Oe,{children:[t.jsxs("title",{children:[e("page6045.title")," | CCTCMA"]}),t.jsx("meta",{name:"description",content:e("page6045.subtitle")}),t.jsx("link",{rel:"canonical",href:"https://cctcma.com/admission/international"})]}),t.jsx(re,{title:e("page6045.title"),subtitle:e("page6045.subtitle")}),t.jsxs("div",{className:"container mx-auto px-4 py-16",children:[t.jsx("section",{className:"mb-16",children:t.jsx("div",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:t.jsxs("div",{className:"text-center mb-8",children:[t.jsx(g,{contentKey:"page6045_dli_title",translationKey:"page6045.dli.title",className:"text-2xl font-bold text-primary-700 mb-4 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4 font-chinese",children:e("page6045.dli.title")})}),t.jsx("div",{className:"bg-accent-50 rounded-lg p-6 border border-accent-200",children:t.jsx("p",{className:"text-lg text-secondary-700 font-semibold",children:t.jsx("span",{className:"text-primary-600 font-bold",children:e("page6045.dli.number")})})})]})})}),t.jsxs("div",{className:"grid lg:grid-cols-4 gap-8",children:[t.jsxs("div",{className:"lg:col-span-3 space-y-12",children:[t.jsxs("section",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"page6045_intro_title",translationKey:"page6045.sections.introduction.title",className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:e("page6045.sections.introduction.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-4",children:e("page6045.sections.introduction.content").split(`
803`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]}),t.jsxs("section",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"page6045_admission_title",translationKey:"page6045.sections.admission.title",className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:e("page6045.sections.admission.title")})}),t.jsxs("div",{className:"space-y-8",children:[t.jsxs("div",{children:[t.jsx(g,{contentKey:"page6045_admission_general_title",translationKey:"page6045.sections.admission.generalRequirements.title",className:"text-xl font-semibold mb-4 text-primary-600 font-chinese",children:t.jsx("h3",{className:"text-xl font-semibold mb-4 text-primary-600 font-chinese",children:e("page6045.sections.admission.generalRequirements.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-
803y-3",children:e("page6045.sections.admission.generalRequirements.content").split(`
804`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"page6045_admission_massage_title",translationKey:"page6045.sections.admission.massageRequirements.title",className:"text-xl font-semibold mb-4 text-primary-600 font-chinese",children:t.jsx("h3",{className:"text-xl font-semibold mb-4 text-primary-600 font-chinese",children:e("page6045.sections.admission.massageRequirements.title")})}),t.jsxs("div",{className:"mb-6",children:[t.jsx("h4",{className:"text-lg font-semibold mb-3 text-secondary-800",children:e("page6045.sections.admission.massageRequirements.standard.title")}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("page6045.sections.admission.massageRequirements.standard.content").split(`
805`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]}),t.jsxs("div",{children:[t.jsx("h4",{className:"text-lg font-semibold mb-3 text-secondary-800",children:e("page6045.sections.admission.massageRequirements.mature.title")}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("page6045.sections.admission.massageRequirements.mature.content").split(`
806`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]})]})]})]}),t.jsxs("section",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"page6045_procedure_title",translationKey:"page6045.sections.procedure.title",className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:e("page6045.sections.procedure.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-4",children:e("page6045.sections.procedure.content").split(`
807
808`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]}),t.jsxs("section",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"page6045_credentials_title",translationKey:"page6045.sections.credentialAssessment.title",className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:e("page6045.sections.credentialAssessment.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-4",children:e("page6045.sections.credentialAssessment.content").split(`
809
810`).map((n,a)=>t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a))})]}),t.jsxs("section",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"page6045_policies_title",translationKey:"page6045.sections.academicPolicies.title",className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:e("page6045.sections.academicPolicies.title")})}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{children:[t.jsx("h3",{className:"text-xl font-semibold mb-3 text-primary-600",children:e("page6045.sections.academicPolicies.evaluation.title")}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("page6045.sections.academicPolicies.evaluation.content").split(`
811`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-xl font-semibold mb-3 text-primary-600",children:e("page6045.sections.academicPolicies.withdrawal.title")}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("page6045.sections.academicPolicies.withdrawal.content").split(`
812`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-xl font-semibold mb-3 text-primary-600",children:e("page6045.sections.academicPolicies.appeal.title")}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-3",children:e("page6045.sections.academicPolicies.appeal.content").split(`
813`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]})]})]}),t.jsxs("section",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"page6045_support_title",translationKey:"page6045.sections.supportServices.title",className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:e("page6045.sections.supportServices.title")})}),t.jsxs("div",{className:"space-y-8",children:[t.jsxs("div",{children:[t.jsx("h3",{className:"text-xl font-semibold mb-4 text-primary-600",children:e("page6045.sections.supportServices.campusServices.title")}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-4",children:e("page6045.sections.supportServices.campusServices.content").split(`
814`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)}),t.jsxs("div",{className:"mt-6 space-y-4",children:[t.jsx("div",{children:t.jsx("h4",{className:"font-semibold text-secondary-800 mb-2",children:e("page6045.sections.supportServices.campusServices.services.advising")})}),t.jsx("div",{children:t.jsx("h4",{className:"font-semibold text-secondary-800 mb-2",children:e("page6045.sections.supportServices.campusServices.services.counseling")})}),t.jsx("div",{children:t.jsx("h4",{className:"font-semibold text-secondary-800 mb-2",children:e("page6045.sections.supportServices.campusServices.services.events")})})]})]}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-xl font-semibold mb-4 text-primary-600",children:e("page6045.sections.supportServices.communitySupport.title")}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-4",children:e("page6045.sections.supportServices.communitySupport.content").split(`
815`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-xl font-semibold mb-4 text-primary-600",children:e("page6045.sections.supportServices.immigration.title")}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-4",children:e("page6045.sections.supportServices.immigration.content").split(`
816
817`).map((n,a)=>n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",dangerouslySetInnerHTML:{__html:n.replace(/\n/g,"<br />")}},a):null)})]})]})]}),t.jsxs("section",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"page6045_health_title",translationKey:"page6045.sections.healthSupport.title",className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:e("page6045.sections.healthSupport.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-4",children:e("page6045.sections.healthSupport.content").split(`
818
819`).map((n,a)=>n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",dangerouslySetInnerHTML:{__html:n.replace(/\n/g,"<br />")}},a):null)})]}),t.jsxs("section",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"page6045_academic_supp
819ort_title",translationKey:"page6045.sections.academicSupport.title",className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:e("page6045.sections.academicSupport.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-4",children:e("page6045.sections.academicSupport.content").split(`
820`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]}),t.jsxs("section",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-8",children:[t.jsx(g,{contentKey:"page6045_complaint_title",translationKey:"page6045.sections.complaintProcess.title",className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold mb-6 text-primary-700 font-chinese",children:e("page6045.sections.complaintProcess.title")})}),t.jsx("div",{className:"text-secondary-700 leading-relaxed space-y-4",children:e("page6045.sections.complaintProcess.content").split(`
821`).map((n,a)=>n.trim().startsWith("•")?t.jsxs("div",{className:"flex items-start space-x-2 mb-3",children:[t.jsx("span",{className:"text-primary-600 mt-1",children:"•"}),t.jsx("p",{className:"text-secondary-700 leading-relaxed flex-1",children:n.trim().substring(1).trim()})]},a):n.trim()?t.jsx("p",{className:"text-secondary-700 leading-relaxed",children:n},a):null)})]})]}),t.jsxs("div",{className:"lg:col-span-1 space-y-8",children:[t.jsxs("div",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-6",children:[t.jsx("h3",{className:"text-xl font-bold mb-4 text-primary-700 font-chinese",children:e("page6045.quickLinks.title")}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("a",{href:"/admission/requirements",className:"block text-primary-600 hover:text-primary-700 transition-colors",children:["• ",e("page6045.quickLinks.admissionRequirements")]}),t.jsxs("a",{href:"/admission/apply",className:"block text-primary-600 hover:text-primary-700 transition-colors",children:["• ",e("page6045.quickLinks.onlineApplication")]}),t.jsxs("a",{href:"/admission/fees",className:"block text-primary-600 hover:text-primary-700 transition-colors",children:["• ",e("page6045.quickLinks.tuitionFees")]}),t.jsxs("a",{href:"/contact",className:"block text-primary-600 hover:text-primary-700 transition-colors",children:["• ",e("page6045.quickLinks.contactUs")]})]})]}),t.jsxs("div",{className:"bg-white rounded-2xl shadow-lg border border-accent-200 p-6",children:[t.jsx("h3",{className:"text-xl font-bold mb-4 text-primary-700 font-chinese",children:e("page6045.advisors.title")}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"border-b border-accent-200 pb-4",children:[t.jsx("h4",{className:"font-semibold text-secondary-800",children:e("page6045.advisors.drDu.name")}),t.jsx("p",{className:"text-sm text-secondary-600",children:e("page6045.advisors.drDu.email")}),t.jsx("p",{className:"text-sm text-secondary-600",children:e("page6045.advisors.drDu.tel")})]}),t.jsxs("div",{children:[t.jsx("h4",{className:"font-semibold text-secondary-800",children:e("page6045.advisors.msLuo.name")}),t.jsx("p",{className:"text-sm text-secondary-600",children:e("page6045.advisors.msLuo.email")}),t.jsx("p",{className:"text-sm text-secondary-600",children:e("page6045.advisors.msLuo.tel")})]})]})]}),t.jsxs("div",{className:"bg-accent-50 rounded-2xl border border-accent-200 p-6",children:[t.jsx("h3",{className:"text-lg font-bold mb-3 text-primary-700",children:e("page6045.officeHours.title")}),t.jsx("p",{className:"text-secondary-700",children:e("page6045.officeHours.schedule")}),t.jsx("p",{className:"text-secondary-700 font-semibold",children:e("page6045.officeHours.time")}),t.jsx("p",{className:"text-sm text-secondary-600 mt-2",children:e("page6045.officeHours.timezone")})]})]})]}),t.jsxs("section",{className:"mt-16 bg-gradient-to-br from-accent-50 to-primary-50 rounded-2xl p-12 text-center border border-accent-200 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 left-0 w-20 h-20 border-4 border-accent-300/20 rounded-full -translate-x-10 -translate-y-10"}),t.jsx("div",{className:"absolute bottom-0 right-0 w-16 h-16 bg-accent-300/10 rounded-full translate-x-8 translate-y-8"}),t.jsx(g,{contentKey:"page6045_cta_title",translationKey:"page6045.cta.title",className:"text-3xl font-bold mb-4 text-neutral-900 font-chinese",children:t.jsx("h2",{className:"text-3xl font-bold mb-4 text-neutral-900 font-chinese",children:e("page6045.cta.title")})}),t.jsx(g,{contentKey:"page6045_cta_subtitle",translationKey:"page6045.cta.subtitle",className:"text-lg text-secondary-600 mb-8 max-w-2xl mx-auto leading-relaxed",children:t.jsx("p",{className:"text-lg text-secondary-600 mb-8 max-w-2xl mx-auto leading-relaxed",children:e("page6045.cta.subtitle")})}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-6 justify-center",children:[t.jsx("a",{href:"/admission/apply",className:"bg-gradient-to-r from-primary-600 to-primary-700 text-white px-10 py-4 rounded-full hover:from-primary-700 hover:to-primary-800 transition-all duration-300 font-semibold transform hover:scale-105 shadow-lg",children:t.jsx(g,{contentKey:"page6045_cta_apply_button",translationKey:"page6045.cta.applyNow",children:t.jsx("span",{children:e("page6045.cta.applyNow")})})}),t.jsx("a",{href:"/contact",className:"border-2 border-primary-600 text-primary-600 px-10 py-4 rounded-full hover:bg-primary-50 transition-all duration-300 font-semibold transform hover:scale-105",children:t.jsx(g,{contentKey:"page6045_cta_contact_button",translationKey:"page6045.cta.contactUs",children:t.jsx("span",{children:e("page6045.cta.contactUs")})})})]})]})]})]})}function $d(){const{t:e}=V(),{getImageUrl:n}=fi();ie();const a=[{id:"acupuncture",title:e("clinic.services.acupuncture.title"),description:e("clinic.services.acupuncture.description"),items:e("clinic.services.acupuncture.items",{returnObjects:!0}),image:n("clinic_acupuncture_image","/images/tcm_clinic_pics/clinc1.png")},{id:"tcm",title:e("clinic.services.tcm.title"),description:e("clinic.services.tcm.description"),items:e("clinic.services.tcm.items",{returnObjects:!0}),image:n("clinic_tcm_image","/images/tcm_clinic_pics/clinic2.png")},{id:"massage",title:e("clinic.services.massage.title"),description:e("clinic.services.massage.description"),items:e("clinic.services.massage.items",{returnObjects:!0}),image:n("clinic_massage_image","/images/tcm_clinic_pics/clinic3.png")}],i=[{title:e("clinic.benefits.professional.title"),description:e("clinic.benefits.professional.description"),icon:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})})},{title:e("clinic.benefits.quality.title"),description:e("clinic.benefits.quality.description"),icon:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z"})})},{title:e("clinic.benefits.affordable.title"),description:e("clinic.benefits.affordable.description"),icon:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})},{title:e("clinic.benefits.location.title"),description:e("clinic.benefits.location.description"),icon:t.jsxs("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]})}];return t.jsxs("div",{className:"min-h-screen bg-white",children:[t.jsx("div",{className:"fixed top-20 left-10 w-16 h-16 bg-primary-200 rounded-full opacity-30 animate-float"}),t.jsx("div",{className:"fixed top-40 right-20 w-12 h-12 bg-accent-200 rounded-full opacity-30 animate-float-delayed"}),t.jsx("div",{className:"fixed bottom-20 left-20 w-14 h-14 bg-primary-200 rounded-full opacity-30 animate-float"}),t.jsx("div",{className:"fixed bottom-40 right-10 w-10 h-10 bg-secondary-200 rounded-full opacity-30 animate-float-delayed"}),t.jsx(re,{title:Y("clinic.hero.title","Clinic Services"),subtitle:Y("clinic.hero.subtitle","Professional Traditional Chinese Medicine treatments")}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[t.jsxs("section",{className:"mb-20",children:[t.jsxs("div",{className:"text-center mb-16",children:[t.jsx(g,{contentKey:"clinic_services_title",translationKey:"clinic.services.title",className:"text-4xl font-bold text-secondary-800 font-chinese mb-4",children:t.jsx("h2",{className:"text-4xl font-bold text-secondary-800 font-chinese mb-4",children:e("clinic.services.title")})}),t.jsx("div",{className:"w-24 h-1 bg-clinic-600 mx-auto"})]}),t.jsx("div",{className:"space-y-20",children:a.map((r,s)=>t.jsx("div",{className:`bg-white/80 backdrop-blur-sm rounded-2xl shadow-xl overflow-hidden border border-secondary-100 hover:shadow-2xl transition-all duration-500 hover:scale-[1.02] ${s%2===1?"md:flex-row-reverse":""}`,children:t.jsxs("div",{className:`md:flex ${s%2===1?"md:flex-row-reverse":""}`,children:[t.jsxs("div",{className:"md:w-1/3 relative group min-h-[300px] md:min-
821h-[400px]",children:[t.jsx(ze,{contentKey:`clinic_service_${r.id}_image`,src:r.image,alt:r.title,className:"w-full h-full object-cover group-hover:scale-110 transition-transform duration-700",containerClassName:"w-full h-full"}),t.jsx("div",{className:"absolute inset-0 bg-clinic-600/20 group-hover:opacity-0 transition-opacity duration-500 pointer-events-none"})]}),t.jsxs("div",{className:"md:w-2/3 p-10",children:[t.jsx(g,{contentKey:`clinic_service_${r.id}_title`,translationKey:`clinic.services.${r.id}.title`,className:"text-3xl font-bold mb-6 text-secondary-800 font-chinese",children:t.jsx("h3",{className:"text-3xl font-bold mb-6 text-secondary-800 font-chinese",children:r.title})}),t.jsx(g,{contentKey:`clinic_service_${r.id}_description`,translationKey:`clinic.services.${r.id}.description`,className:"text-secondary-600 mb-8 text-lg leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-secondary-600 mb-8 text-lg leading-relaxed",children:r.description})}),t.jsx("ul",{className:"grid md:grid-cols-2 gap-6",children:r.items.map((o,c)=>t.jsxs("li",{className:"flex items-center text-secondary-700 hover:text-primary-600 transition-colors duration-300",children:[t.jsx("div",{className:"w-6 h-6 bg-clinic-600 rounded-full flex items-center justify-center mr-3 flex-shrink-0",children:t.jsx("svg",{className:"w-4 h-4 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}),t.jsx(g,{contentKey:`clinic_service_${r.id}_item_${c+1}`,translationKey:`clinic.services.${r.id}.items.${c}`,className:"text-base",children:t.jsx("span",{className:"text-base",children:o})})]},c))})]})]})},r.id))})]}),t.jsxs("section",{className:"mb-20",children:[t.jsxs("div",{className:"text-center mb-16",children:[t.jsx(g,{contentKey:"clinic_benefits_title",translationKey:"clinic.benefits.title",className:"text-4xl font-bold text-secondary-800 font-chinese mb-4",children:t.jsx("h2",{className:"text-4xl font-bold text-secondary-800 font-chinese mb-4",children:e("clinic.benefits.title")})}),t.jsx("div",{className:"w-24 h-1 bg-clinic-600 mx-auto"})]}),t.jsx("div",{className:"grid md:grid-cols-4 gap-8",children:i.map((r,s)=>t.jsxs("div",{className:"bg-white/80 backdrop-blur-sm p-8 rounded-2xl shadow-xl border border-secondary-100 hover:shadow-2xl transition-all duration-500 hover:scale-105 text-center group",children:[t.jsx("div",{className:"w-16 h-16 bg-clinic-600/10 rounded-full flex items-center justify-center mx-auto mb-6 group-hover:bg-clinic-600/20 transition-colors duration-300",children:t.jsx("div",{className:"text-clinic-600 group-hover:scale-110 transition-transform duration-300",children:r.icon})}),t.jsx(g,{contentKey:`clinic_benefit_${s+1}_title`,translationKey:`clinic.benefits.${["professional","quality","affordable","location"][s]}.title`,className:"text-xl font-bold mb-4 text-secondary-800 font-chinese",children:t.jsx("h3",{className:"text-xl font-bold mb-4 text-secondary-800 font-chinese",children:r.title})}),t.jsx(g,{contentKey:`clinic_benefit_${s+1}_description`,translationKey:`clinic.benefits.${["professional","quality","affordable","location"][s]}.description`,className:"text-secondary-600 leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-secondary-600 leading-relaxed",children:r.description})})]},s))})]}),t.jsxs("section",{className:"bg-gradient-to-br from-clinic-50 to-accent-50 rounded-2xl p-12 text-center border border-clinic-200 relative overflow-hidden mb-20",children:[t.jsx("div",{className:"absolute top-0 left-0 w-20 h-20 border-4 border-clinic-600/20 rounded-full -translate-x-10 -translate-y-10"}),t.jsx("div",{className:"absolute bottom-0 right-0 w-16 h-16 bg-clinic-600/10 rounded-full translate-x-8 translate-y-8"}),t.jsx(g,{contentKey:"clinic_cta_title",translationKey:"clinic.cta.title",className:"text-3xl font-bold mb-4 text-secondary-800 font-chinese",children:t.jsx("h2",{className:"text-3xl font-bold mb-4 text-secondary-800 font-chinese",children:e("clinic.cta.title")})}),t.jsx(g,{contentKey:"clinic_cta_description",translationKey:"clinic.cta.description",className:"text-lg text-secondary-600 mb-8 max-w-2xl mx-auto leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-lg text-secondary-600 mb-8 max-w-2xl mx-auto leading-relaxed",children:e("clinic.cta.description")})}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsx("a",{href:"https://cctcma.janeapp.com/",target:"_blank",rel:"noopener noreferrer",className:"inline-block bg-gradient-to-r from-clinic-600 to-clinic-700 text-white px-8 py-3 rounded-full hover:from-clinic-700 hover:to-clinic-800 transition-all duration-300 font-semibold transform hover:scale-105 shadow-lg",children:t.jsx(g,{contentKey:"clinic_cta_book_button",translationKey:"clinic.cta.bookButton",className:"",children:t.jsx("span",{children:e("clinic.cta.bookButton")})})}),t.jsx($,{to:"/contact",className:"inline-block border-2 border-clinic-600 text-clinic-600 px-8 py-3 rounded-full hover:bg-clinic-50 transition-all duration-300 font-semibold transform hover:scale-105",children:t.jsx(g,{contentKey:"clinic_cta_contact_button",translationKey:"clinic.cta.contactButton",className:"",children:t.jsx("span",{children:e("clinic.cta.contactButton")})})})]})]}),t.jsxs("section",{children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx(g,{contentKey:"clinic_hours_title",translationKey:"clinic.hours.title",className:"text-3xl font-bold text-secondary-800 font-chinese mb-4",children:t.jsx("h2",{className:"text-3xl font-bold text-secondary-800 font-chinese mb-4",children:e("clinic.hours.title")})}),t.jsx("div",{className:"w-24 h-1 bg-clinic-600 mx-auto"})]}),t.jsxs("div",{className:"max-w-2xl mx-auto bg-white/90 backdrop-blur-sm rounded-2xl shadow-xl p-8 border border-secondary-100 relative",children:[t.jsxs("div",{className:"space-y-2 text-sm text-secondary-700",children:[t.jsxs("div",{className:"grid grid-cols-2 gap-6 py-3 border-b-2 border-clinic-200 font-bold text-secondary-800",children:[t.jsx(g,{contentKey:"clinic_hours_day_header",translationKey:"footer.businessHours.day",className:"font-bold text-secondary-800",children:t.jsx("span",{className:"font-bold text-secondary-800",children:e("footer.businessHours.day")})}),t.jsx(g,{contentKey:"clinic_hours_header",translationKey:"common.hours",className:"text-center font-bold text-secondary-800",children:t.jsx("span",{className:"text-center font-bold text-secondary-800",children:"Hours"})})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-6 py-3 border-b border-secondary-200",children:[t.jsx(g,{contentKey:"clinic_hours_monday",translationKey:"footer.businessHours.monday",className:"font-medium text-secondary-800",children:t.jsx("span",{className:"font-medium text-secondary-800",children:e("footer.businessHours.monday")})}),t.jsx(g,{contentKey:"clinic_hours_monday_time",translationKey:"footer.businessHours.mondayClinic",className:"text-center text-clinic-700 font-semibold",children:t.jsx("span",{className:"text-center text-clinic-700 font-semibold",children:e("footer.businessHours.mondayClinic")})})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-6 py-3 border-b border-secondary-200",children:[t.jsx(g,{contentKey:"clinic_hours_tuesday",translationKey:"footer.businessHours.tuesday",className:"font-medium text-secondary-800",children:t.jsx("span",{className:"font-medium text-secondary-800",children:e("footer.businessHours.tuesday")})}),t.jsx(g,{contentKey:"clinic_hours_tuesday_time",translationKey:"footer.businessHours.tuesdayClinic",className:"text-center text-clinic-700 font-semibold",children:t.jsx("span",{className:"text-center text-clinic-700 font-semibold",children:e("footer.businessHours.tuesdayClinic")})})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-6 py-3 border-b border-secondary-200",children:[t.jsx(g,{contentKey:"clinic_hours_wednesday",translationKey:"footer.businessHours.wednesday",className:"font-medium text-secondary-800",children:t.jsx("span",{className:"font-medium text-secondary-800",children:e("footer.businessHours.wednesday")})}),t.jsx(g,{contentKey:"clinic_hours_wednesday_time",translationKey:"footer.businessHours.wednesdayClinic",className:"text-center text-clinic-700 font-semibold",children:t.jsx("span",{className:"text-center text-clinic-700 font-semibold",children:e("footer.businessHours.wednesdayClinic")})})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-6 py-3 border-b border-secondary-200",children:[t.jsx(g,{contentKey:"clinic_hours_thursday",translationKey:"footer.businessHours.thursday",className:"font-medium text-secondary-800",children:t.jsx("span",{className:"font-medium text-secondary-800",children:e("footer.businessHours.thursday")})}),t.jsx(g,{contentKey:"clinic_hours_thursday_time",translationKey:"footer.businessHours.thursdayClinic",className:"text-center text-clinic-700 font-semibold",children:t.jsx("span",{className:"text-center text-clinic-700 font-semibold",children:e("footer.businessHours.thursdayClinic")})})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-6 py-3 border-b border-secondary-200",children:[t.jsx(g,{contentKey:"clinic_hours_friday",translationKey:"footer.businessHours.friday",className:"font-medium text-secondary-800",children:t.jsx("span",{className:"font-medium text-secondary-800",children:e("footer.businessHours.friday")})}),t.jsx(g,{contentKey:"clinic_hours_friday_time",translationKey:"footer.businessHours.fridayClinic",className:"text-center text-clinic-700 font-semibold",children:t.jsx("span",{className:"text-center text-clinic-700 font-semibold",children:e("footer.businessHours.fridayClinic")})})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-6 py-3 border-b border-secondary-200",children:[t.jsx(g,{contentKey:"clinic_hours_saturday",translationKey:"footer.businessHours.saturday",className:"font-medium text-secondary-800",children:t.jsx("span",{className:"font-medium text-secondary-800",children:e("footer.businessHours.saturday")})}),t.jsx(g,{contentKey:"clinic_hours_saturday_time",translationKey:"footer.businessHours.saturdayHours",className:"text-center text-secondary-500 font-semibold",children:t.jsx("span",{className:"text-center text-secondary-500 font-semibold",children:e("footer.businessHours.saturdayHours")})})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-6 py-3",children:[t.jsx(g,{contentKey:"clinic_hours_sunday",translationKey:"footer.businessHours.sunday",className:"font-medium text-secondary-800",children:t.jsx("span",{className:"font-medium text-secondary-800",children:e("footer.businessHours.sunday")})}),t.jsx(g,{contentKey:"clinic_hours_sunday_time",translationKey:"footer.businessHours.sundayHours",className:"text-center text-secondary-500 font-semibold",children:t.jsx("span",{className:"text-center text-secondary-500 font-semibold",children:e("footer.businessHours.sundayHours")})})]})]}),t.jsx("div",{className:"absolute top-0 left-0 w-6 h-6 border-l-2 border-t-2 border-accent-400 -translate-x-1 -translate-y-1"}),t.jsx("div",{className:"absolute top-0 right-0 w-6 h-6 border-r-2 border-t-2 border-accent-400 translate-x-1 -translate-y-1"}),t.jsx("div",{className:"absolute bottom-0 left-0 w-6 h-6 border-l-2 border-b-2 border-accent-400 -translate-x-1 translate-y-1"}),t.jsx("div",{className:"absolute bottom-0 right-0 w-6 h-6 border-r-2 border-b-2 border-accent-400 translate-x-1 translate-y-1"})]})]})]})]})}function Ud(){const{t:e}=V(),{getContentValue:n}=fi();ie();
821const[a,i]=w.useState({name:"",email:"",phone:"",subject:"General Inquiry",message:"",website:"",fakephone:""}),[r,s]=w.useState(!1),[o]=w.useState(Date.now()),c=async d=>{if(d.preventDefault(),a.website||a.fakephone){console.log("Spam detected: honeypot fields filled");return}if(Date.now()-o<2e3){alert("Please take a moment to review your message before sending.");return}if(!a.name||!a.email||!a.message){alert("Please fill in all fields.");return}if(a.message.trim().length<10){alert("Message must be at least 10 characters long.");return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(a.email)){alert("Please enter a valid email address.");return}s(!0);try{console.log("🔄 About to submit contact form with data:",{name:a.name,email:a.email,phone:a.phone||void 0,subject:a.subject,message:a.message});const m=await Ep({name:a.name,email:a.email,phone:a.phone||void 0,subject:a.subject,message:a.message});console.log("📤 Contact form submission result:",m),m.success?(console.log("✅ Contact form submitted successfully with ID:",m.contactId),alert(`${e("contact.form.success")}
822
823${e("page.contact.form.messages.successDetail")}
824${e("page.contact.form.messages.messageId")}: ${m.contactId||"N/A"}`),i({name:"",email:"",phone:"",subject:e("page.contact.form.messages.generalInquiry"),message:"",website:"",fakephone:""})):(console.error("❌ Contact form submission failed:",m.error),alert(`${e("page.contact.form.messages.failedToSend")}: ${m.error||e("page.contact.form.messages.unknownError")}`))}catch(m){console.error("💥 Contact form submission error:",m),alert(e("page.contact.form.messages.tryAgain"))}finally{s(!1)}},l=d=>{const{name:p,value:u}=d.target;i(m=>({...m,[p]:u}))};return t.jsxs("div",{className:"min-h-screen bg-white",children:[t.jsx(re,{title:n("contact_hero_title",e("contact.hero.title")),subtitle:n("contact_hero_subtitle",e("contact.hero.subtitle"))}),t.jsx("div",{className:"max-w-screen-xl mx-auto px-4 py-12",children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-12",children:[t.jsxs("div",{className:"bg-white p-8 rounded-lg shadow-lg border border-secondary-200 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-secondary-600"}),t.jsx(g,{contentKey:"contact_info_title",translationKey:"contact.info.title",className:"text-2xl font-bold text-secondary-800 mb-6 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold text-secondary-800 mb-6 font-chinese",children:e("contact.info.title")})}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"flex items-start group",children:[t.jsx("div",{className:"w-12 h-12 bg-secondary-100 rounded-lg flex items-center justify-center mr-4 transform group-hover:scale-105 transition-transform duration-200",children:t.jsxs("svg",{className:"w-6 h-6 text-secondary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})]})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_address_title",translationKey:"contact.info.address.title",className:"font-semibold text-secondary-800 mb-1 block",children:t.jsx("h3",{className:"font-semibold text-secondary-800 mb-1",children:e("contact.info.address.title")})}),t.jsx(g,{contentKey:"contact_address_line1",translationKey:"contact.info.address.line1",className:"text-secondary-600 block",children:t.jsx("p",{className:"text-secondary-600",children:e("contact.info.address.line1")})}),t.jsx(g,{contentKey:"contact_address_line2",translationKey:"contact.info.address.line2",className:"text-secondary-600 block",children:t.jsx("p",{className:"text-secondary-600",children:e("contact.info.address.line2")})})]})]}),t.jsxs("div",{className:"flex items-start group",children:[t.jsx("div",{className:"w-12 h-12 bg-secondary-100 rounded-lg flex items-center justify-center mr-4 transform group-hover:scale-105 transition-transform duration-200",children:t.jsx("svg",{className:"w-6 h-6 text-secondary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 
82411.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"})})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_phone_title",translationKey:"contact.info.phone.title",className:"font-semibold text-secondary-800 mb-1 block",children:t.jsx("h3",{className:"font-semibold text-secondary-800 mb-1",children:e("contact.info.phone.title")})}),t.jsx(g,{contentKey:"contact_phone_main",translationKey:"contact.info.phone.main",className:"text-secondary-600 block",children:t.jsx("p",{className:"text-secondary-600",children:e("contact.info.phone.main")})})]})]}),t.jsxs("div",{className:"flex items-start group",children:[t.jsx("div",{className:"w-12 h-12 bg-secondary-100 rounded-lg flex items-center justify-center mr-4 transform group-hover:scale-105 transition-transform duration-200",children:t.jsx("svg",{className:"w-6 h-6 text-secondary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 8l7.89 7.89a2 2 0 002.83 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_email_title",translationKey:"contact.info.email.title",className:"font-semibold text-secondary-800 mb-1 block",children:t.jsx("h3",{className:"font-semibold text-secondary-800 mb-1",children:e("contact.info.email.title")})}),t.jsx(g,{contentKey:"contact_email_general",translationKey:"contact.info.email.general",className:"text-secondary-600 block",children:t.jsx("p",{className:"text-secondary-600",children:e("contact.info.email.general")})}),t.jsx(g,{contentKey:"contact_email_admissions",translationKey:"contact.info.email.admissions",className:"text-secondary-600 block",children:t.jsx("p",{className:"text-secondary-600",children:e("contact.info.email.admissions")})})]})]}),t.jsxs("div",{id:"business-hours",className:"flex items-start group",children:[t.jsx("div",{className:"w-12 h-12 bg-secondary-100 rounded-lg flex items-center justify-center mr-4 transform group-hover:scale-105 transition-transform duration-200",children:t.jsx("svg",{className:"w-6 h-6 text-secondary-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_hours_title",translationKey:"contact.info.hours.title",className:"font-semibold text-secondary-800 mb-1 block",children:t.jsx("h3",{className:"font-semibold text-secondary-800 mb-1",children:e("contact.info.hours.title")})}),t.jsx(g,{contentKey:"contact_hours_weekdays",translationKey:"contact.info.hours.weekdays",className:"text-secondary-600 block",children:t.jsx("p",{className:"text-secondary-600",children:e("contact.info.hours.weekdays")})}),t.jsx(g,{contentKey:"contact_hours_saturday",translationKey:"contact.info.hours.saturday",className:"text-secondary-600 block",children:t.jsx("p",{className:"text-secondary-600",children:e("contact.info.hours.saturday")})})]})]})]})]}),t.jsxs("div",{className:"bg-white p-8 rounded-lg shadow-lg border border-secondary-200 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 left-0 w-full h-1 bg-primary-600"}),t.jsx(g,{contentKey:"contact_form_title",translationKey:"contact.form.title",className:"text-2xl font-bold text-secondary-800 mb-6 font-chinese",children:t.jsx("h2",{className:"text-2xl font-bold text-secondary-800 mb-6 font-chinese",children:e("contact.form.title")})}),t.jsxs("form",{onSubmit:c,className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_name_label",translationKey:"contact.form.name",className:"block text-sm font-medium text-secondary-700 mb-1",children:t.jsx("label",{className:"block text-sm font-medium text-secondary-700 mb-1",children:e("contact.form.name")})}),t.jsx("input",{type:"text",name:"name",value:a.name,onChange:l,className:"w-full px-3 py-2 border border-secondary-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500",required:!0})]}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_email_label",translationKey:"contact.form.email",className:"block text-sm font-medium text-secondary-700 mb-1",children:t.jsx("label",{className:"block text-sm font-medium text-secondary-700 mb-1",children:e("contact.form.email")})}),t.jsx("input",{type:"email",name:"email",value:a.email,onChange:l,className:"w-full px-3 py-2 border border-secondary-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500",required:!0})]}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_phone_label",translationKey:"contact.form.phone",className:"block text-sm font-medium text-secondary-700 mb-1",children:t.jsx("label",{className:"block text-sm font-medium text-secondary-700 mb-1",children:e("contact.form.phone")})}
824),t.jsx("input",{type:"tel",name:"phone",value:a.phone,onChange:l,className:"w-full px-3 py-2 border border-secondary-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500"})]}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_subject_label",translationKey:"contact.form.subject",className:"block text-sm font-medium text-secondary-700 mb-1",children:t.jsx("label",{className:"block text-sm font-medium text-secondary-700 mb-1",children:e("contact.form.subject")})}),t.jsx("input",{type:"text",name:"subject",value:a.subject,onChange:l,className:"w-full px-3 py-2 border border-secondary-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500"})]}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"contact_form_message_label",translationKey:"contact.form.message",className:"block text-sm font-medium text-secondary-700 mb-1",children:t.jsx("label",{className:"block text-sm font-medium text-secondary-700 mb-1",children:e("contact.form.message")})}),t.jsx("textarea",{rows:4,name:"message",value:a.message,onChange:l,className:"w-full px-3 py-2 border border-secondary-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500",required:!0})]}),t.jsx("input",{type:"text",name:"website",value:a.website,onChange:l,style:{position:"absolute",left:"-9999px"},tabIndex:-1,"aria-hidden":"true"}),t.jsx("input",{type:"text",name:"fakephone",value:a.fakephone,onChange:l,style:{position:"absolute",left:"-9999px"},tabIndex:-1,"aria-hidden":"true"}),t.jsx(g,{contentKey:"contact_form_submit_button",translationKey:"contact.form.submit",className:"w-full bg-primary-600 text-white py-2 px-4 rounded-md hover:bg-primary-700 transition-colors disabled:opacity-50",children:t.jsx("button",{type:"submit",disabled:r,className:"w-full bg-primary-600 text-white py-2 px-4 rounded-md hover:bg-primary-700 transition-colors disabled:opacity-50",children:e(r?"contact.form.sending":"contact.form.submit")})})]})]})]})})]})}function Wd(){const{t:e}=V();return ie(),t.jsxs("div",{className:"min-h-screen bg-white relative overflow-hidden",children:[t.jsxs("div",{className:"absolute inset-0 pointer-events-none",children:[t.jsx("div",{className:"absolute top-20 left-10 w-3 h-3 bg-accent-300 rounded-full animate-float opacity-60"}),t.jsx("div",{className:"absolute top-40 right-20 w-2 h-2 bg-primary-400 rounded-full animate-float-delayed opacity-50"}),t.jsx("div",{className:"absolute top-60 left-1/4 w-4 h-4 bg-secondary-300 rounded-full animate-float opacity-40"}),t.jsx("div",{className:"absolute bottom-40 right-1/3 w-3 h-3 bg-accent-400 rounded-full animate-float-delayed opacity-50"}),t.jsx("div",{className:"absolute bottom-20 left-1/2 w-2 h-2 bg-primary-400 rounded-full animate-float opacity-60"})]}),t.jsx(re,{title:Y("exam.hero.title","National Exam"),subtitle:Y("exam.hero.description","Prepare for success with comprehensive exam support")}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 relative",children:[t.jsxs("section",{className:"mb-20",children:[t.jsx(g,{contentKey:"exam_info_section_title",translationKey:"exam.info.sectionTitle",className:"text-4xl font-bold font-chinese text-secondary-800 mb-12 text-center",children:t.jsx("h2",{className:"text-4xl font-bold font-chinese text-secondary-800 mb-12 text-center",children:t.jsx("span",{className:"text-secondary-600",children:e("exam.info.sectionTitle")})})}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-8",children:[t.jsxs("div",{className:"group bg-white/80 backdrop-blur-sm p-8 rounded-2xl shadow-xl border border-secondary-200 hover:shadow-2xl hover:scale-105 transition-all duration-300 hover:border-primary-300 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-16 h-16 bg-secondary-50"}),t.jsx(g,{contentKey:"exam_acupuncture_title",translationKey:"exam.info.title1",className:"text-2xl font-bold font-chinese text-primary-600 mb-6 relative",children:t.jsxs("h3",{className:"text-2xl font-bold font-chinese text-primary-600 mb-6 relative",children:[e("exam.info.title1"),t.jsx("div",{className:"absolute -bottom-2 left-0 w-12 h-1 bg-secondary-600 rounded-full"})]})}
824),t.jsx(g,{contentKey:"exam_acupuncture_content",translationKey:"exam.info.content1",className:"text-secondary-700 mb-8 leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-secondary-700 mb-8 leading-relaxed",children:e("exam.info.content1")})}),t.jsx(g,{contentKey:"exam_content_title",translationKey:"exam.info.examContent",className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:t.jsx("h4",{className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:e("exam.info.examContent")})}),t.jsxs("ul",{className:"list-none text-secondary-700 mb-8 space-y-2",children:[t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-primary-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_acupuncture_content_1",translationKey:"exam.info.acupuncture.content1",className:"inline",children:t.jsx("span",{children:e("exam.info.acupuncture.content1")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-primary-500 mr-3 mt-1",children:"•"}
vendor: 16,384 bytes, line 824
824),t.jsx(g,{contentKey:"exam_acupuncture_content_2",translationKey:"exam.info.acupuncture.content2",className:"inline",children:t.jsx("span",{children:e("exam.info.acupuncture.content2")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-primary-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_acupuncture_content_3",translationKey:"exam.info.acupuncture.content3",className:"inline",children:t.jsx("span",{children:e("exam.info.acupuncture.content3")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-primary-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_acupuncture_content_4",translationKey:"exam.info.acupuncture.content4",className:"inline",children:t.jsx("span",{children:e("exam.info.acupuncture.content4")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-primary-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_acupuncture_content_5",translationKey:"exam.info.acupuncture.content5",className:"inline",children:t.jsx("span",{children:e("exam.info.acupuncture.content5")})})]})]}),t.jsx(g,{contentKey:"exam_requirements_title",translationKey:"exam.info.requirements",className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:t.jsx("h4",{className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:e("exam.info.requirements")})}),t.jsxs("ul",{className:"list-none text-secondary-700",children:[t.jsxs("li",{className:"flex items-start mb-2",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_acupuncture_req_1",translationKey:"exam.info.acupunctureReqs.req1",className:"inline",children:t.jsx("span",{children:e("exam.info.acupunctureReqs.req1")})})]}),t.jsxs("li",{className:"flex items-start mb-2",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_acupuncture_req_2",translationKey:"exam.info.acupunctureReqs.req2",className:"inline",children:t.jsx("span",{children:e("exam.info.acupunctureReqs.req2")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_acupuncture_req_3",translationKey:"exam.info.acupunctureReqs.req3",className:"inline",children:t.jsx("span",{children:e("exam.info.acupunctureReqs.req3")})})]})]})]}),t.jsxs("div",{className:"group bg-white/80 backdrop-blur-sm p-8 rounded-2xl shadow-xl border border-secondary-200 hover:shadow-2xl hover:scale-105 transition-all duration-300 hover:border-secondary-400 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-16 h-16 bg-secondary-50"}),t.jsx(g,{contentKey:"exam_tcm_title",translationKey:"exam.info.title2",className:"text-2xl font-bold font-chinese text-secondary-600 mb-6 relative",children:t.jsxs("h3",{className:"text-2xl font-bold font-chinese text-secondary-600 mb-6 relative",children:[e("exam.info.title2"),t.jsx("div",{className:"absolute -bottom-2 left-0 w-12 h-1 bg-secondary-600 rounded-full"})]})}),t.jsx(g,{contentKey:"exam_tcm_content",translationKey:"exam.info.content2",className:"text-secondary-700 mb-8 leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-secondary-700 mb-8 leading-relaxed",children:e("exam.info.content2")})}),t.jsx(g,{contentKey:"exam_tcm_content_title",translationKey:"exam.info.examContent",className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:t.jsx("h4",{className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:e("exam.info.examContent")})}),t.jsxs("ul",{className:"list-none text-secondary-700 mb-8 space-y-2",children:[t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-secondary-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_tcm_content_1",translationKey:"exam.info.tcm.content1",className:"inline",children:t.jsx("span",{children:e("exam.info.tcm.content1")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-secondary-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_tcm_content_2",translationKey:"exam.info.tcm.content2",className:"inline",children:t.jsx("span",{children:e("exam.info.tcm.content2")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-secondary-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_tcm_content_3",translationKey:"exam.info.tcm.content3",className:"inline",children:t.jsx("span",{children:e("exam.info.tcm.content3")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-secondary-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_tcm_content_4",translationKey:"exam.info.tcm.content4",className:"inline",children:t.jsx("span",{children:e("exam.info.tcm.content4")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-secondary-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_tcm_content_5",translationKey:"exam.info.tcm.content5",className:"inline",children:t.jsx("span",{children:e("exam.info.tcm.content5")})})]})]}),t.jsx(g,{contentKey:"exam_tcm_requirements_title",translationKey:"exam.info.requirements",className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:t.jsx("h4",{className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:e("exam.info.requirements")})}),t.jsxs("ul",{className:"list-none text-secondary-700",children:[t.jsxs("li",{className:"flex items-start mb-2",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_tcm_req_1",translationKey:"exam.info.tcmReqs.req1",className:"inline",children:t.jsx("span",{children:e("exam.info.tcmReqs.req1")})})]}),t.jsxs("li",{className:"flex items-start mb-2",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_tcm_req_2",translationKey:"exam.info.tcmReqs.req2",className:"inline",children:t.jsx("span",{children:e("exam.info.tcmReqs.req2")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_tcm_req_3",translationKey:"exam.info.tcmReqs.req3",className:"inline",children:t.jsx("span",{children:e("exam.info.tcmReqs.req3")})})]})]})]}),t.jsxs("div",{className:"group bg-white/80 backdrop-blur-sm p-8 rounded-2xl shadow-xl border border-secondary-200 hover:shadow-2xl hover:scale-105 transition-all duration-300 hover:border-accent-400 relative overflow-hidden",children:[t.jsx("div",{className:"absolute top-0 right-0 w-16 h-16 bg-secondary-50"}),t.jsx(g,{contentKey:"exam_massage_title",translationKey:"exam.info.title3",className:"text-2xl font-bold font-chinese text-secondary-600 mb-6 relative",children:t.jsxs("h3",{className:"text-2xl font-bold font-chinese text-secondary-600 mb-6 relative",children:[e("exam.info.title3"),t.jsx("div",{className:"absolute -bottom-2 left-0 w-12 h-1 bg-secondary-600 rounded-full"})]})}),t.jsx(g,{contentKey:"exam_massage_content",translationKey:"exam.info.content3",className:"text-secondary-700 mb-8 leading-relaxed",multiline:!0,children:t.jsx("p",{className:"text-secondary-700 mb-8 leading-relaxed",children:e("exam.info.content3")})}),t.jsx(g,{contentKey:"exam_massage_content_title",translationKey:"exam.info.examContent",className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:t.jsx("h4",{className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:e("exam.info.examContent")})}),t.jsxs("ul",{className:"list-none text-secondary-700 mb-8 space-y-2",children:[t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_massage_content_1",translationKey:"exam.info.massage.content1",className:"inline",children:t.jsx("span",{children:e("exam.info.massage.content1")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_massage_content_2",translationKey:"exam.info.massage.content2",className:"inline",children:t.jsx("span",{children:e("exam.info.massage.content2")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_massage_content_3",translationKey:"exam.info.massage.content3",className:"inline",children:t.jsx("span",{children:e("exam.info.massage.content3")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_massage_content_4",translationKey:"exam.info.massage.content4",className:"inline",children:t.jsx("span",{children:e("exam.info.massage.content4")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_massage_content_5",translationKey:"exam.info.massage.content5",className:"inline",children:t.jsx("span",{children:e("exam.info.massage.content5")})})]})]}),t.jsx(g,{contentKey:"exam_massage_requirements_title",translationKey:"exam.info.requirements",className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:t.jsx("h4",{className:"font-semibold text-secondary-800 mb-4 border-l-4 border-accent-400 pl-4",children:e("exam.info.requirements")})}),t.jsxs("ul",{className:"list-none text-secondary-700",children:[t.jsxs("li",{className:"flex items-start mb-2",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_massage_req_1",translationKey:"exam.info.massageReqs.req1",className:"inline",children:t.jsx("span",{children:e("exam.info.massageReqs.req1")})})]}),t.jsxs("li",{className:"flex items-start mb-2",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_massage_req_2",translationKey:"exam.info.massageReqs.req2",className:"inline",children:t.jsx("span",{children:e("exam.info.massageReqs.req2")})})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),t.jsx(g,{contentKey:"exam_massage_req_3",translationKey:"exam.info.massageReqs.req3",className:"inline",children:t.jsx("span",{children:e("exam.info.massageReqs.req3")})})]}),t.jsxs("li",{className:"flex items-start mb-2",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),e("exam.info.massageReqs.req2")]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("span",{className:"text-accent-500 mr-3 mt-1",children:"•"}),e("exam.info.massageReqs.req3")]})]})]})]})]}),t.jsxs("section",{className:"mb-20",children:[t.jsxs("h2",{className:"text-4xl font-bold font-chinese text-secondary-800 mb-12 text-center",children:["            ",t.jsx("span",{className:"text-secondary-600",children:e("exam.registration.sectionTitle")})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:[t.jsxs("div",{className:"group text-center hover:scale-105 transition-all duration-300",children:[t.jsx("div",{className:"w-20 h-20 bg-secondary-600 text-white rounded-full flex items-center justify-center mx-auto mb-6 shadow-lg group-hover:shadow-xl hover:bg-secondary-700 transition-all duration-300",children:t.jsx("span",{className:"text-2xl font-bold",children:"1"})}),t.jsx("h3",{className:"font-semibold font-chinese text-secondary-800 mb-3 text-lg",children:e("exam.registration.step1.title")}),t.jsx("p",{className:"text-secondary-600 text-sm leading-relaxed",children:e("exam.registration.step1.description")})]}),t.jsxs("div",{className:"group text-center hover:scale-105 transition-all duration-300",children:[t.jsx("div",{className:"w-20 h-20 bg-secondary-600 text-white rounded-full flex items-center justify-center mx-auto mb-6 shadow-lg group-hover:shadow-xl hover:bg-secondary-700 transition-all duration-300",children:t.jsx("span",{className:"text-2xl font-bold",children:"2"})}),t.jsx("h3",{className:"font-semibold font-chinese text-secondary-800 mb-3 text-lg",children:e("exam.registration.step2.title")}),t.jsx("p",{className:"text-secondary-600 text-sm leading-relaxed",children:e("exam.registration.step2.description")})]}),t.jsxs("div",{className:"group text-center hover:scale-105 transition-all duration-300",children:[t.jsx("div",{className:"w-20 h-20 bg-secondary-600 text-white rounded-full flex items-center justify-center mx-auto mb-6 shadow-lg group-hover:shadow-xl hover:bg-secondary-700 transition-all duration-300",children:t.jsx("span",{className:"text-2xl font-bold",children:"3"})}),t.jsx("h3",{className:"font-semibold font-chinese text-secondary-800 mb-3 text-lg",children:e("exam.registration.step3.title")}),t.jsx("p",{className:"text-secondary-600 text-sm leading-relaxed",children:e("exam.registration.step3.description")})]}),t.jsxs("div",{className:"group text-center hover:scale-105 transition-all duration-300",children:[t.jsx("div",{className:"w-20 h-20 bg-secondary-600 text-white rounded-full flex items-center justify-center mx-auto mb-6 shadow-lg group-hover:shadow-xl hover:bg-secondary-700 transition-all duration-300",children:t.jsx("span",{className:"text-2xl font-bold",children:"4"})}),t.jsx("h3",{className:"font-semibold font-chinese text-secondary-800 mb-3 text-lg",children:e("exam.registration.step4.title")}),t.jsx("p",{className:"text-secondary-600 text-sm leading-relaxed",children:e("exam.registration.step4.description")})]})]})]}),t.jsxs("section",{className:"mb-20",children:[t.jsxs("h2",{className:"text-4xl font-bold font-chinese text-secondary-800 mb-12 text-center",children:["            ",t.jsx("span",{className:"text-secondary-600",children:e("exam.preparation.sectionTitle")})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-10",children:[t.jsxs("div",{className:"group text-center bg-white/60 backdrop-blur-sm p-8 rounded-2xl shadow-lg hover:shadow-xl hover:scale-105 transition-all duration-300 border border-secondary-200",children:[t.jsx("div",{className:"w-20 h-20 bg-secondary-100 text-secondary-600 rounded-full flex items-center justify-center mx-auto mb-6 group-hover:scale-110 transition-transform duration-300 shadow-lg",children:t.jsx("svg",{className:"w-10 h-10",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.746 0 3.332.477 4.5 1.253v13C19.832 18.477 18.246 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"})})}),t.jsx("h3",{className:"text-xl font-semibold font-chinese text-secondary-800 mb-4",children:e("exam.preparation.tip1.title")}),t.jsx("p",{className:"text-secondary-600 leading-relaxed",children:e("exam.preparation.tip1.content")})]}),t.jsxs("div",{className:"group text-center bg-white/60 backdrop-blur-sm p-8 rounded-2xl shadow-lg hover:shadow-xl hover:scale-105 transition-all duration-300 border border-secondary-200",children:[t.jsx("div",{className:"w-20 h-20 bg-secondary-100 text-secondary-600 rounded-full flex items-center justify-center mx-auto mb-6 group-hover:scale-110 transition-transform duration-300 shadow-lg",children:t.jsx("svg",{className:"w-10 h-10",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})}),t.jsx("h3",{className:"text-xl font-semibold font-chinese text-secondary-800 mb-4",children:e("exam.preparation.tip2.title")}),t.jsx("p",{className:"text-secondary-600 leading-relaxed",children:e("exam.preparation.tip2.content")})]}),t.jsxs("div",{className:"group text-center bg-white/60 backdrop-blur-sm p-8 rounded-2xl shadow-lg hover:shadow-xl hover:scale-105 transition-all duration-300 border border-secondary-200",children:[t.jsx("div",{className:"w-20 h-20 bg-secondary-100 tex
824t-secondary-600 rounded-full flex items-center justify-center mx-auto mb-6 group-hover:scale-110 transition-transform duration-300 shadow-lg",children:t.jsx("svg",{className:"w-10 h-10",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})})}),t.jsx("h3",{className:"text-xl font-semibold font-chinese text-secondary-800 mb-4",children:e("exam.preparation.tip3.title")}),t.jsx("p",{className:"text-secondary-600 leading-relaxed",children:e("exam.preparation.tip3.content")})]})]})]}),t.jsxs("section",{className:"relative bg-secondary-600 text-white rounded-3xl p-16 text-center overflow-hidden shadow-2xl",children:[t.jsx("div",{className:"absolute top-4 left-4 w-20 h-20 border-l-4 border-t-4 border-accent-300 opacity-30"}),t.jsx("div",{className:"absolute top-4 right-4 w-20 h-20 border-r-4 border-t-4 border-accent-300 opacity-30"}),t.jsx("div",{className:"absolute bottom-4 left-4 w-20 h-20 border-l-4 border-b-4 border-accent-300 opacity-30"}),t.jsx("div",{className:"absolute bottom-4 right-4 w-20 h-20 border-r-4 border-b-4 border-accent-300 opacity-30"}),"          ",t.jsx("div",{className:"absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-32 h-1 bg-white/50"}),t.jsxs("div",{className:"relative z-10",children:[t.jsx("h2",{className:"text-4xl md:text-5xl font-bold font-chinese mb-6 text-white",children:e("exam.cta.title")}),t.jsx("p",{className:"text-xl md:text-2xl mb-10 text-accent-100 max-w-3xl mx-auto leading-relaxed",children:e("exam.cta.description")}),"            ",t.jsxs("button",{className:"group bg-white text-secondary-600 px-10 py-4 rounded-2xl font-semibold text-lg hover:scale-105 hover:shadow-xl transition-all duration-300 border-2 border-transparent hover:border-white/30 relative overflow-hidden",children:[t.jsx("span",{className:"relative z-10",children:e("exam.cta.button")}),t.jsx("div",{className:"absolute inset-0 bg-white/10 opacity-0 group-hover:opacity-100 transition-opacity duration-300"})]})]})]})]})]})}function Vd(){const{t:e}=V();ie();const[n,a]=w.useState("online"),[i,r]=w.useState({program:"",studyMode:"",lastName:"",firstName:"",middleInitial:"",dateOfBirth:"",gender:"",permanentAddress:"",apartment:"",country:"",city:"",state:"",zipCode:"",phoneHome:"",phoneWork:"",phoneCell:"",preferredContact:"",citizenship:"",email:"",institution1:"",level1:"",dateFrom1:"",dateTo1:"",address1:"",apartment1:"",country1:"",city1:"",state1:"",zipCode1:"",institution2:"",level2:"",dateFrom2:"",dateTo2:"",address2:"",apartment2:"",country2:"",city2:"",state2:"",zipCode2:"",institution3:"",level3:"",dateFrom3:"",dateTo3:"",address3:"",apartment3:"",country3:"",city3:"",state3:"",zipCode3:"",additionalEducation:"",crimeConviction:"",crimeDetails:"",contagiousDiseases:"",diseaseDetails:"",attestation:"",applicationPage1:null,applicationPage2:null,applicationPage3:null}),[s,o]=w.useState(!1),[c,l]=w.useState(!1),[d,p]=w.useState(null),u=v=>{const{name:C,value:f}=v.target;r(b=>({...b,[C]:f}))},m=v=>{const{name:C,files:f}=v.target;f&&f[0]&&r(b=>({...b,[C]:f[0]}))},h=v=>({"Three-year Acupuncture Diploma Program":"Acupuncture Diploma","2200 Hour Registered Massage Therapy (RMT) Diploma Program":"2200 Hr Massage Diploma","Four-year TCM Diploma Program":"Traditional Chinese Medicine Diploma Program"})[v]||v,x=async v=>{var C,f,b,y,N,S,k,T,I,A,D,H,O,Q,B,L,_,R,M,F,z,q,J,fe,se,Qe,Ee,je,ca,da,yi,xi,ua,bi,vi,wi,ma,pa,ft;v.preventDefault(),o(!0),p(null);try{if(!i.firstName||!i.lastName){p("First name and last name are required."),o(!1);return}if(!i.email){p(e("page1200.application.messages.emailRequired")),o(!1);return}if(!i.program){p("Program selection is required."),o(!1);return}if(n==="upload"&&(!i.applicationPage1||!i.applicationPage2||!i.applicationPage3)){p(e("page1200.application.messages.filesRequired")),o(!1);return}const st={};((C=i.institution1)!=null&&C.trim()||(f=i.level1)!=null&&f.trim())&&(st.institution1={name:((b=i.institution1)==null?void 0:b.trim())||"",level:((y=i.level1)==null?void 0:y.trim())||"",dateFrom:((N=i.dateFrom1)==null?void 0:N.trim())||"",dateTo:((S=i.dateTo1)==null?void 0:S.trim())||"",address:((k=i.address1)==null?void 0:k.trim())||"",apartment:((T=i.apartment1)==null?void 0:T.trim())||"",country:((I=i.country1)==null?void 0:I.trim())||"",city:((A=i.city1)==null?void 0:A.trim())||"",state:((D=i.state1)==null?void 0:D.trim())||"",zipCode:((H=i.zipCode1)==null?void 0:H.trim())||""}),((O=i.institution2)!=null&&O.trim()||(Q=i.level2)!=null&&Q.trim())&&(st.institution2={name:((B=i.institution2)==null?void 0:B.trim())||"",level:((L=i.level2)==null?void 0:L.trim())||"",dateFrom:((_=i.dateFrom2)==null?void 0:_.trim())||"",dateTo:((R=i.dateTo2)==null?void 0:R.trim())||"",address:((M=i.address2)==null?void 0:M.trim())||"",apartment:((F=i.apartment2)==null?void 0:F.trim())||"",country:((z=i.country2)==null?void 0:z.trim())||"",city:((q=i.city2)==null?void 0:q.trim())||"",state:((J=i.state2)==null?void 0:J.trim())||"",zipCode:((fe=i.zipCode2)==null?void 0:fe.trim())||""}),((se=i.institution3)!=null&&se.trim()||(Qe=i.level3)!=null&&Qe.trim())&&(st.institution3={name:((Ee=i.institution3)==null?void 0:Ee.trim())||"",level:((je=i.level3)==null?void 0:je.trim())||"",dateFrom:((ca=i.dateFrom3)==null?void 0:ca.trim())||"",dateTo:((da=i.dateTo3)==null?void 0:da.trim())||"",address:((yi=i.address3)==null?void 0:yi.trim())||"",apartment:((xi=i.apartment3)==null?void 0:xi.trim())||"",country:((ua=i.country3)==null?void 0:ua.trim())||"",city:((bi=i.
824city3)==null?void 0:bi.trim())||"",state:((vi=i.state3)==null?void 0:vi.trim())||"",zipCode:((wi=i.zipCode3)==null?void 0:wi.trim())||""});const ln={first_name:i.firstName.trim(),last_name:i.lastName.trim(),email:i.email.trim(),phone:((ma=i.phoneHome||i.phoneCell||i.phoneWork)==null?void 0:ma.trim())||void 0,program:h(i.program.trim()),start_date:((pa=i.dateOfBirth)==null?void 0:pa.trim())||void 0,education_background:Object.keys(st).length>0?JSON.stringify(st):void 0,work_experience:void 0,motivation:void 0,additional_info:((ft=i.additionalEducation)==null?void 0:ft.trim())||void 0,application_type:n==="upload"?"uploaded_file":"fillable_form",form_data:{program:i.program.trim(),studyMode:i.studyMode.trim(),middleInitial:i.middleInitial.trim(),dateOfBirth:i.dateOfBirth.trim(),gender:i.gender.trim(),permanentAddress:i.permanentAddress.trim(),apartment:i.apartment.trim(),country:i.country.trim(),city:i.city.trim(),state:i.state.trim(),zipCode:i.zipCode.trim(),phoneHome:i.phoneHome.trim(),phoneWork:i.phoneWork.trim(),phoneCell:i.phoneCell.trim(),preferredContact:i.preferredContact.trim(),citizenship:i.citizenship.trim(),educationHistory:st,additionalEducation:i.additionalEducation.trim(),crimeConviction:i.crimeConviction.trim(),crimeDetails:i.crimeDetails.trim(),contagiousDiseases:i.contagiousDiseases.trim(),diseaseDetails:i.diseaseDetails.trim(),attestation:i.attestation.trim()}};console.log("🔍 Application data being sent:",ln),console.log("🔍 form_data being sent:",JSON.stringify(ln.form_data,null,2)),console.log("🔍 form_data keys:",Object.keys(ln.form_data||{})),console.log("🔍 Frontend program value:",JSON.stringify(i.program)),console.log("🔍 Backend program value:",JSON.stringify(h(i.program.trim()))),console.log("🔍 Available backend programs:",["Traditional Chinese Medicine Diploma Program","Acupuncture Diploma","2200 Hr Massage Diploma"]);const ha=n==="upload"?[i.applicationPage1,i.applicationPage2,i.applicationPage3].filter(Boolean):[];console.log("提交申请表单,文件数量:",ha.length);const j=await xy(ln,ha);j.success?(l(!0),r({program:"",studyMode:"",lastName:"",firstName:"",middleInitial:"",dateOfBirth:"",gender:"",permanentAddress:"",apartment:"",country:"",city:"",state:"",zipCode:"",phoneHome:"",phoneWork:"",phoneCell:"",preferredContact:"",citizenship:"",email:"",institution1:"",level1:"",dateFrom1:"",dateTo1:"",address1:"",apartment1:"",country1:"",city1:"",state1:"",zipCode1:"",institution2:"",level2:"",dateFrom2:"",dateTo2:"",address2:"",apartment2:"",country2:"",city2:"",state2:"",zipCode2:"",institution3:"",level3:"",dateFrom3:"",dateTo3:"",address3:"",apartment3:"",country3:"",city3:"",state3:"",zipCode3:"",additionalEducation:"",crimeConviction:"",crimeDetails:"",contagiousDiseases:"",diseaseDetails:"",attestation:"",applicationPage1:null,applicationPage2:null,applicationPage3:null})):p(j.error||e("page1200.application.messages.submissionError"))}catch(st){console.error("Application submission error:",st),p(e("page1200.application.messages.submissionError"))}finally{o(!1)}};return t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-secondary-50 to-accent-50",children:[t.jsx(re,{title:e("page1200.application.hero.title"),subtitle:e("page1200.application.hero.subtitle"),images:[{key:"study_acupuncture",src:"/images/subpage_images_carousel/study acupuncture.png"},{key:"tcm_study",src:"/images/subpage_images_carousel/TCM study.png"},{key:"teaching_staff",src:"/images/subpage_images_carousel/teaching staff.png"}]}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16",children:[t.jsx("div",{className:"mb-8",children:t.jsx("div",{className:"border-b border-gray-200",children:t.jsxs("nav",{className:"-mb-px flex space-x-8",children:[t.jsx("button",{onClick:()=>a("download"),className:`py-2 px-1 border-b-2 font-medium text-sm ${n==="download"?"border-admission-500 text-admission-600":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"}`,children:e("page1200.application.tabs.download")}),t.jsx("button",{onClick:()=>a("upload"),className:`py-2 px-1 border-b-2 font-medium text-sm ${n==="upload"?"border-admission-500 text-admission-600":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"}`,children:e("page1200.application.tabs.upload")}),t.jsx("button",{onClick:()=>a("online"),className:`py-2 px-1 border-b-2 font-medium text-sm ${n==="online"?"border-admission-500 text-admission-600":"border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300"}`,children:e("page1200.application.tabs.online")})]})})}),t.jsxs("div",{className:"bg-white rounded-3xl shadow-2xl p-8 lg:p-12 border border-secondary-200",children:[n==="download"&&t.jsxs("div",{className:"space-y-6",children:[t.jsx(g,{contentKey:"application_download_title",translationKey:"page1200.application.download.title",className:"text-3xl font-bold text-secondary-900 mb-6",children:t.jsx("h2",{className:"text-3xl font-bold text-secondary-900 mb-6",children:e("page1200.application.download.title")})}),t.jsx(g,{contentKey:"application_download_description",translationKey:"page1200.application.download.description",className:"text-lg text-secondary-700 mb-8",multiline:!0,children:t.jsx("p",{className:"text-lg text-secondary-700 mb-8",children:e("page1200.application.download.description")})}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[t.jsxs("div",{className:"bg-primary-50 rounded-xl p-6 border border-primary-200",children:[t.jsx(g,{contentKey:"application_pdf_title",translationKey:"page1200.application.download.pdf.title",className:"text-xl font-bold text-primary-700 mb-4",children:t.jsx("h3",{className:"text-xl font-bold text-primary-700 mb-4",children:e("page1200.application.download.pdf.title")})}),t.jsx(g,{contentKey:"application_pdf_description",translationKey:"page1200.application.download.pdf.de
824scription",className:"text-secondary-700 mb-4",multiline:!0,children:t.jsx("p",{className:"text-secondary-700 mb-4",children:e("page1200.application.download.pdf.description")})}),t.jsxs("a",{href:"https://objectstorage.ca-toronto-1.oraclecloud.com/p/ZzFJ-3iUwT752_6rvGn_DqUXOV-L6YamkojuyJkOwW2vkoj4qncaoo-kK5gYOqwH/n/yzlgowpnktfi/b/Calgary_College_of_TCM_and_Acupuncture/o/application-forms/CCTCMA-Application-Form.pdf",download:!0,className:"inline-flex items-center bg-primary-600 hover:bg-primary-700 text-white px-6 py-3 rounded-full font-semibold transition-all duration-300",children:[t.jsx("svg",{className:"w-5 h-5 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"})}),t.jsx(g,{contentKey:"application_pdf_button_text",translationKey:"page1200.application.download.pdf.buttonText",className:"",children:t.jsx("span",{children:e("page1200.application.download.pdf.buttonText")})})]})]}),t.jsxs("div",{className:"bg-secondary-50 rounded-xl p-6 border border-secondary-200",children:[t.jsx(g,{contentKey:"application_word_title",translationKey:"page1200.application.download.word.title",className:"text-xl font-bold text-secondary-700 mb-4",children:t.jsx("h3",{className:"text-xl font-bold text-secondary-700 mb-4",children:e("page1200.application.download.word.title")})}),t.jsx(g,{contentKey:"application_word_description",translationKey:"page1200.application.download.word.description",className:"text-secondary-700 mb-4",multiline:!0,children:t.jsx("p",{className:"text-secondary-700 mb-4",children:e("page1200.application.download.word.description")})}),t.jsxs("a",{href:"https://objectstorage.ca-toronto-1.oraclecloud.com/p/AiaWg0v-CRLfNKwC0rC1R_UBxdOPrg4YBTMUnJtNCfWefcpF3eDu1k6ZVkt5wgdQ/n/yzlgowpnktfi/b/Calgary_College_of_TCM_and_Acupuncture/o/application-forms/CCTCMA-Application-Form.docx",download:!0,className:"inline-flex items-center bg-secondary-600 hover:bg-secondary-700 text-white px-6 py-3 rounded-full font-semibold transition-all duration-300",children:[t.jsx("svg",{className:"w-5 h-5 mr-2",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"})}),t.jsx(g,{contentKey:"application_word_button_text",translationKey:"page1200.application.download.word.buttonText",className:"",children:t.jsx("span",{children:e("page1200.application.download.word.buttonText")})})]})]})]})]}),n==="upload"&&t.jsx("div",{className:"space-y-6",children:c?t.jsxs("div",{className:"bg-green-50 border border-green-200 rounded-lg p-6",children:[t.jsx("h2",{className:"text-xl font-semibold text-green-800 mb-2",children:e("page1200.application.messages.successTitle")}),t.jsx("p",{className:"text-green-700 mb-4",children:e("page1200.application.messages.successMessage")}),t.jsx("button",{onClick:()=>l(!1),className:"px-4 py-2 bg-green-600 text-white rounded hover:bg-green-700",children:e("page1200.application.messages.submitAnother")})]}):t.jsxs(t.Fragment,{children:[t.jsx(g,{contentKey:"application_upload_title",translationKey:"page1200.application.upload.title",className:"text-3xl font-bold text-secondary-900 mb-6",children:t.jsx("h2",{className:"text-3xl font-bold text-secondary-900 mb-6",children:e("page1200.application.upload.title")})}),t.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4 mb-6",children:[t.jsx(g,{contentKey:"application_upload_instructions_title",translationKey:"page1200.application.upload.instructions.title",className:"font-bold text-blue-800 mb-2",children:t.jsx("h3",{className:"font-bold text-blue-800 mb-2",children:e("page1200.application.upload.instructions.title")})}),t.jsx(g,{contentKey:"application_upload_instructions_text",translationKey:"page1200.application.upload.instructions.text",className:"text-blue-700",multiline:!0,children:t.jsx("p",{className:"text-blue-700",children:e("page1200.application.upload.instructions.text")})})]}),t.jsxs("form",{onSubmit:x,className:"space-y-6",children:[d&&t.jsx("div",{className:"bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded",children:d}),t.jsxs("div",{className:"bg-secondary-50 rounded-xl p-6 border border-secondary-200",children:[t.jsx("h3",{className:"text-xl font-bold text-secondary-700 mb-4",children:"Personal Information"}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:"First Name *"}),t.jsx("input",{type:"text",name:"firstName",value:i.firstName,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-admission-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:"Last Name *"}),t.jsx("input",{type:"text",name:"lastName",value:i.lastName,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-admission-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:"Email Address *"}),t.jsx("input",{type:"email",name:"email",value:i.email,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-admission-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:"Program *"}),t.jsxs("select",{name:"program",value:i.program,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-admission-500",children:[t.jsx("option",{value:"",children:"Select a program"}),t.jsx("option",{value:"Traditional Chinese Medicine Diploma Program",children:"Traditional Chinese Medicine Diploma Program"}),t.jsx("option",{value:"Acupuncture Diploma",children:"Acupuncture Diploma"}),t.jsx("option",{value:"2200 Hr Massage Diploma",children:"2200 Hr Massage Diploma"})]})]})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.upload.form.page1Label")}),t.jsx("input",{type:"file",name:"applicationPage1",onChange:m,accept:".pdf,.jpg,.jpeg,.png",required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-admission-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.upload.form.page2Label")}),t.jsx("input",{type:"file",name:"applicationPage2",onChange:m,accept:".pdf,.jpg,.jpeg,.png",required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-admission-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.upload.form.page3Label")}
824),t.jsx("input",{type:"file",name:"applicationPage3",onChange:m,accept:".pdf,.jpg,.jpeg,.png",required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-admission-500"})]}),t.jsx("button",{type:"submit",disabled:s,className:"w-full bg-admission-600 hover:bg-admission-700 disabled:bg-admission-400 text-white px-8 py-4 rounded-lg font-bold text-lg transition-all duration-300 flex items-center justify-center space-x-2",children:s?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"animate-spin rounded-full h-5 w-5 border-b-2 border-white"}),t.jsx("span",{children:e("page1200.application.upload.form.submittingButton")})]}):t.jsx("span",{children:e("page1200.application.upload.form.submitButton")})})]})]})}),n==="online"&&t.jsx("div",{className:"space-y-8",children:c?t.jsxs("div",{className:"bg-green-50 border border-green-200 rounded-lg p-6",children:[t.jsx("h2",{className:"text-xl font-semibold text-green-800 mb-2",children:e("page1200.application.messages.successTitle")}),t.jsx("p",{className:"text-green-700 mb-4",children:e("page1200.application.messages.successMessage")}),t.jsx("button",{onClick:()=>l(!1),className:"px-4 py-2 bg-green-600 text-white rounded hover:bg-green-700",children:e("page1200.application.messages.submitAnother")})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4 mb-6",children:[t.jsx("h3",{className:"font-bold text-blue-800 mb-2",children:e("page1200.application.online.instructions.title")}),t.jsxs("div",{className:"text-blue-700 space-y-2",children:[t.jsx("p",{children:t.jsx("strong",{children:e("page1200.application.online.instructions.collegeInfo.name")})}),t.jsx("p",{children:e("page1200.application.online.instructions.collegeInfo.address1")}),t.jsx("p",{children:e("page1200.application.online.instructions.collegeInfo.address2")}),t.jsx("p",{children:e("page1200.application.online.instructions.collegeInfo.website")}),t.jsx("p",{className:"font-semibold",children:e("page1200.application.online.instructions.collegeInfo.formTitle")}),t.jsx("br",{}),t.jsx("p",{children:e("page1200.application.online.instructions.description")})]})]}),t.jsxs("form",{onSubmit:x,className:"space-y-8",children:[d&&t.jsx("div",{className:"bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded",children:d}),t.jsxs("div",{className:"bg-primary-50 rounded-xl p-6 border border-primary-200",children:[t.jsx("h3",{className:"text-xl font-bold text-primary-700 mb-6",children:e("page1200.application.online.programSelection.title")}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.programSelection.label")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"program",value:"Three-year Acupuncture Diploma Program",checked:i.program==="Three-year Acupuncture Diploma Program",onChange:u,className:"mr-2",required:!0}),e("page1200.application.online.programSelection.acupuncture")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"program",value:"2200 Hour Registered Massage Therapy (RMT) Diploma Program",checked:i.program==="2200 Hour Registered Massage Therapy (RMT) Diploma Program",onChange:u,className:"mr-2"}),e("page1200.application.online.programSelection.massage")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"program",value:"Four-year TCM Diploma Program",checked:i.program==="Four-year TCM Diploma Program",onChange:u,className:"mr-2"}),e("page1200.application.online.programSelection.tcm")]})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.programSelection.studyMode.title")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"studyMode",value:"Full time",checked:i.studyMode==="Full time",onChange:u,className:"mr-2"}),e("page1200.application.online.programSelection.studyMode.fullTime")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"studyMode",value:"Part time",checked:i.studyMode==="Part time",onChange:u,className:"mr-2"}),e("page1200.application.online.programSelection.studyMode.partTime")]})]})]})]})]}),t.jsxs("div",{className:"bg-secondary-50 rounded-xl p-6 border border-secondary-200",children:[t.jsx("h3",{className:"text-xl font-bold text-secondary-700 mb-6",children:e("page1200.application.online.personalInfo.title")}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.personalInfo.lastName")}
824),t.jsx("input",{type:"text",name:"lastName",value:i.lastName,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.personalInfo.firstName")}),t.jsx("input",{type:"text",name:"firstName",value:i.firstName,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.personalInfo.middleName")}),t.jsx("input",{type:"text",name:"middleInitial",value:i.middleInitial,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mt-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.personalInfo.dateOfBirth")}),t.jsx("input",{type:"date",name:"dateOfBirth",value:i.dateOfBirth,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.personalInfo.gender.title")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"gender",value:"Female",checked:i.gender==="Female",onChange:u,className:"mr-2",required:!0}),e("page1200.application.online.personalInfo.gender.female")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"gender",value:"Male",checked:i.gender==="Male",onChange:u,className:"mr-2"}),e("page1200.application.online.personalInfo.gender.male")]})]})]})]})]}),t.jsxs("div",{className:"bg-accent-50 rounded-xl p-6 border border-accent-200",children:[t.jsx("h3",{className:"text-xl font-bold text-accent-700 mb-6",children:e("page1200.application.online.addressInfo.title")}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.addressInfo.permanentAddress")}),t.jsx("input",{type:"text",name:"permanentAddress",value:i.permanentAddress,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-accent-500"})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.addressInfo.apartment")}),t.jsx("input",{type:"text",name:"apartment",value:i.apartment,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-accent-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.addressInfo.country")}),t.jsxs("select",{name:"country",value:i.country,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-accent-500",children:[t.jsx("option",{value:"",children:e("page1200.application.online.addressInfo.selectCountry")}),t.jsx("option",{value:"Canada",children:"Canada"}),t.jsx("option",{value:"United States (US)",children:"United States (US)"}),t.jsx("option",{value:"United Kingdom (UK)",children:"United Kingdom (UK)"}),t.jsx("option",{value:"Australia",children:"Australia"}),t.jsx("option",{value:"China",children:"China"}),t.jsx("option",{value:"Other",children:"Other"})]})]})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.addressInfo.city")}),t.jsx("input",{type:"text",name:"city",value:i.city,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-accent-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.addressInfo.state")}),t.jsx("input",{type:"text",name:"state",value:i.state,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-accent-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.addressInfo.zipCode")}),t.jsx("input",{type:"text",name:"zipCode",value:i.zipCode,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-accent-500"})]})]})]})]}),t.jsxs("div",{className:"bg-primary-50 rounded-xl p-6 border border-primary-200",children:[t.jsx("h3",{className:"text-xl font-bold text-primary-700 mb-6",children:e("page1200.application.online.contactInfo.title")}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.contactInfo.phoneHome")}),t.jsx("input",{type:"tel",name:"phoneHome",value:i.phoneHome,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.contactInfo.phoneWork")}),t.jsx("input",{type:"tel",name:"phoneWork",value:i.phoneWork,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.contactInfo.phoneCell")}),t.jsx("input",{type:"tel",name:"phoneCell",value:i.phoneCell,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500"})]})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mt-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.contactInfo.preferredContact.title")}),t.jsx("p",{className:"text-sm text-gray-600 mb-2",children:e("page1200.application.online.contactInfo.preferredContact.description")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"preferredContact",value:"Home phone",checked:i.preferredContact==="Home phone",onChange:u,className:"mr-2",required:!0}),e("page1200.application.online.contactInfo.preferredContact.homePhone")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"preferredContact",value:"Work phone",checked:i.preferredContact==="Work phone",onChange:u,className:"mr-2"}),e("page1200.application.online.contactInfo.preferredContact.workPhone")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"preferredContact",value:"Cell phone",checked:i.preferredContact==="Cell phone",onChange:u,className:"mr-2"}),e("page1200.application.online.contactInfo.preferredContact.cellPhone")]})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.contactInfo.citizenship.title")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"citizenship",value:"Canadian citizen",checked:i.citizenship==="Canadian citizen",onChange:u,className:"mr-2",required:!0}),e("page1200.application.online.contactInfo.citizenship.canadian")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"citizenship",value:"Canadian Permanent Resident",checked:i.citizenship==="Canadian Permanent Resident",onChange:u,className:"mr-2"}),e("page1200.application.online.contactInfo.citizenship.permanentResident")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"citizenship",value:"Other",checked:i.citizenship==="Other",onChange:u,className:"mr-2"}),e("page1200.application.online.contactInfo.citizenship.other")]})]})]})]}),t.jsxs("div",{className:"mt-6",children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.contactInfo.email")}),t.jsx("input",{type:"email",name:"email",value:i.email,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500"})]})]}),t.jsxs("div",{className:"bg-secondary-50 rounded-xl p-6 border border-secondary-200",children:[t.jsx("h3",{className:"text-xl font-bold text-secondary-700 mb-6",children:e("page1200.application.online.educationHistory.title")}),t.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-4 mb-6",children:[t.jsx("h4",{className:"font-bold text-blue-800 mb-2",children:e("page1200.application.online.educationHistory.instructions.title")}),t.jsx("p",{className:"text-blue-700",children:e("page1200.application.online.educationHistory.instructions.text")})]}),t.jsxs("div",{className:"mb-8 p-4 border border-gray-300 rounded-lg",children:[t.jsx("h4",{className:"font-semibold text-secondary-700 mb-4",children:e("page1200.application.online.educationHistory.institution1.title")}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution1.name")}
824),t.jsx("input",{type:"text",name:"institution1",value:i.institution1,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution1.level")}),t.jsx("input",{type:"text",name:"level1",value:i.level1,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution1.dateFrom")}),t.jsx("input",{type:"date",name:"dateFrom1",value:i.dateFrom1,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution1.dateTo")}),t.jsx("input",{type:"date",name:"dateTo1",value:i.dateTo1,onChange:u,required:!0,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]})]})]}),t.jsxs("div",{className:"mb-8 p-4 border border-gray-300 rounded-lg",children:[t.jsx("h4",{className:"font-semibold text-secondary-700 mb-4",children:e("page1200.application.online.educationHistory.institution2.title")}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution2.name")}),t.jsx("input",{type:"text",name:"institution2",value:i.institution2,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution2.level")}),t.jsx("input",{type:"text",name:"level2",value:i.level2,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution2.dateFrom")}),t.jsx("input",{type:"date",name:"dateFrom2",value:i.dateFrom2,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution2.dateTo")}),t.jsx("input",{type:"date",name:"dateTo2",value:i.dateTo2,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]})]})]}),t.jsxs("div",{className:"mb-8 p-4 border border-gray-300 rounded-lg",children:[t.jsx("h4",{className:"font-semibold text-secondary-700 mb-4",children:e("page1200.application.online.educationHistory.institution3.title")}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution3.name")}),t.jsx("input",{type:"text",name:"institution3",value:i.institution3,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution3.level")}),t.jsx("input",{type:"text",name:"level3",value:i.level3,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution3.dateFrom")}),t.jsx("input",{type:"date",name:"dateFrom3",value:i.dateFrom3,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.institution3.dateTo")}),t.jsx("input",{type:"date",name:"dateTo3",value:i.dateTo3,onChange:u,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.educationHistory.additionalEducation.title")}),t.jsx("p",{className:"text-sm text-gray-600 mb-2",children:e("page1200.application.online.educationHistory.additionalEducation.description")}),t.jsx("textarea",{name:"additionalEducation",value:i.additionalEducation,onChange:u,rows:4,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-secondary-500"})]})]}),t.jsxs("div",{className:"bg-accent-50 rounded-xl p-6 border border-accent-200",children:[t.jsx("h3",{className:"text-xl font-bold text-accent-700 mb-6",children:e("page1200.application.online.backgroundInfo.title")}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.backgroundInfo.crimeConviction.question")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"crimeConviction",value:"Yes",checked:i.crimeConviction==="Yes",onChange:u,className:"mr-2",required:!0}),e("page1200.application.online.backgroundInfo.crimeConviction.yes")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"crimeConviction",value:"No",checked:i.crimeConviction==="No",onChange:u,className:"mr-2"}),e("page1200.application.online.backgroundInfo.crimeConviction.no")]})]}),i.crimeConviction==="Yes"&&t.jsxs("div",{className:"mt-4",children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.backgroundInfo.crimeConviction.details")}),t.jsx("textarea",{name:"crimeDetails",value:i.crimeDetails,onChange:u,rows:3,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-accent-500"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.backgroundInfo.contagiousDiseases.question")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"contagiousDiseases",value:"Yes",checked:i.contagiousDiseases==="Yes",onChange:u,className:"mr-2",required:!0}),e("page1200.application.online.backgroundInfo.contagiousDiseases.yes")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"contagiousDiseases",value:"No",checked:i.contagiousDiseases==="No",onChange:u,className:"mr-2"}),e("page1200.application.online.backgroundInfo.contagiousDiseases.no")]})]}),i.contagiousDiseases==="Yes"&&t.jsxs("div",{className:"mt-4",children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.backgroundInfo.contagiousDiseases.details")}),t.jsx("textarea",{name:"diseaseDetails",value:i.diseaseDetails,onChange:u,rows:3,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-accent-500"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-secondary-700 font-medium mb-2",children:e("page1200.application.online.backgroundInfo.attestation.question")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"attestation",value:"Yes",checked:i.attestation==="Yes",onChange:u,className:"mr-2",required:!0}),e("page1200.application.online.backgroundInfo.attestation.yes")]}),t.jsxs("label",{className:"flex items-center",children:[t.jsx("input",{type:"radio",name:"attestation",value:"No",checked:i.attestation==="No",onChange:u,className:"mr-2"}),e("page1200.application.online.backgroundInfo.attestation.no")]})]})]})]})]}),t.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-6",children:[t.jsx("h3",{className:"font-bold text-blue-800 mb-4",children:e("page1200.application.online.applicationProcess.title")}),t.jsxs("div",{className:"text-blue-700 space-y-4",children:[t.jsxs("div",{children:[t.jsx("h4",{className:"font-semibold",children:e("page1200.application.online.applicationProcess.stepOne.title")}),t.jsx("p",{children:e("page1200.application.online.applicationProcess.stepOne.description")}),t.jsx("p",{className:"font-semibold mt-2",children:e("page1200.application.online.applicationProcess.stepOne.checklistTitle")}),t.jsx("ol",{className:"list-decimal list-inside mt-2 space-y-1",children:e("page1200.application.online.applicationProcess.stepOne.items",{returnObjects:!0}).map((v,C)=>t.jsx("li",{children:v},C))})]}),t.jsxs("div",{children:[t.jsx("h4",{className:"font-semibold",children:e("page1200.application.online.applicationProcess.stepTwo.title")}),t.jsx("ol",{className:"list-decimal list-inside mt-2 space-y-1",children:e("page1200.application.online.applicationProcess.stepTwo.items",{returnObjects:!0}).map((v,C)=>t.jsx("li",{children:v},C))})]})]})]}),t.jsx("button",{type:"submit",disabled:s,className:`w-full px-8 py-4 bg-admission-600 text-white rounded-lg font-bold text-lg transition-all duration-300 ${s?"opacity-70 cursor-not-allowed":"hover:bg-admission-700"}`,children:e(s?"page1200.application.online.form.submittingButton":"page1200.application.online.form.submitButton")})]})]})})]})]})]})}const Gd=()=>{const{t:e}=V();ie();const n=a=>{try{const i=e(a,{returnObjects:!0});return Array.isArray(i)?i:[]}catch(i){return console.warn(`Translation key "${a}" failed:`,i),[]}};return t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"Tuition and Fees - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Official tuition, fees, and payment options for CCTCMA programs. Transparent pricing for massage therapy, acupuncture, and TCM programs."})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-secondary-50 via-white to-accent-50",children:[t.jsx(re,{title:e("page190.fees332.hero.title"),subtitle:e("page190.fees332.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx(g,{contentKey:"tuition.official.title",translationKey:"page190.fees332.official.title",className:"text-3xl font-bold text-gray-900 mb-4",children:e("page190.fees332.official.title")}),t.jsx(g,{contentKey:"tuition.official.subtitle",translationKey:"page190.fees332.official.subtitle",className:"text-lg text-gray-700 max-w-3xl mx-auto",children:e("page190.fees332.official.subtitle")})]}),t.jsx("div",{className:"bg-white rounded-xl shadow-lg overflow-hidden mb-12",children:t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"w-full",children:[t.jsx("thead",{className:"bg-secondary-50",children:t.jsxs("tr",{children:[t.jsx("th",{className:"px-6 py-4 text-left text-sm font-semibold text-gray-900",children:e("page190.fees332.table.headers.program")}),t.jsx("th",{className:"px-6 py-4 text-center text-sm font-semibold text-gray-900",children:e("page190.fees332.table.headers.acupuncture")}),t.jsx("th",{className:"px-6 py-4 text-center text-sm font-semibold text-gray-900",children:e("page190.fees332.table.headers.massage")}),t.jsx("th",{className:"px-6 py-4 text-center text-sm font-semibold text-gray-900",children:e("page190.fees332.table.headers.dtcm")})]})}),t.jsxs("tbody",{className:"divide-y divide-gray-200",children:[t.jsxs("tr",{className:"hover:bg-gray-50",children:[t.jsx("td",{className:"px-6 py-4 text-sm font-semibold text-gray-900",children:e("page190.fees332.table.rows.canadian.label")}),t.jsx("td",{className:"px-6 py-4 text-sm text-gray-900 text-center",children:e("page190.fees332.table.rows.canadian.acupuncture")}),t.jsx("td",{className:"px-6 py-4 text-sm text-gray-900 text-center",children:e("page190.fees332.table.rows.canadian.massage")}),t.jsx("td",{className:"px-6 py-4 text-sm text-gray-900 text-center",children:e("page190.fees332.table.rows.canadian.dtcm")})]}),t.jsxs("tr",{className:"hover:bg-gray-50",children:[t.jsx("td",{className:"px-6 py-4 text-sm font-semibold text-gray-900",children:e("page190.fees332.table.rows.international.label")}),t.jsx("td",{className:"px-6 py-4 text-sm text-gray-900 text-center",children:e("page190.fees332.table.rows.international.acupuncture")}),t.jsx("td",{className:"px-6 py-4 text-sm text-gray-900 text-center",children:e("page190.fees332.table.rows.international.massage")}),t.jsx("td",{className:"px-6 py-4 text-sm text-gray-900 text-center",children:e("page190.fees332.table.rows.international.dtcm")})]})]})]})})}),t.jsxs("div",{className:"bg-gradient-to-r from-blue-50 to-indigo-50 rounded-xl p-8 mb-12",children:[t.jsx("h3",{className:"text-xl font-bold text-gray-900 mb-6",children:e("page190.fees332.importantInfo.title")}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[t.jsxs("div",{children:[t.jsx("h4",{className:"font-semibold text-gray-900 mb-3",children:e("page190.fees332.importantInfo.tuitionPolicy.title")}),t.jsx("ul",{className:"space-y-2 text-gray-700",children:n("page190.fees332.importantInfo.tuitionPolicy.items").map((a,i)=>t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-secondary-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx("span",{children:a})]},i))})]}),t.jsxs("div",{children:[t.jsx("h4",{className:"font-semibold text-gray-900 mb-3",children:e("page190.fees332.importantInfo.partTimeOptions.title")}),t.jsx("ul",{className:"space-y-2 text-gray-700",children:n("page190.fees332.importantInfo.partTimeOptions.items").map((a,i)=>t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-secondary-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx("span",{children:a})]},i))})]})]})]}),t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8 mb-12",children:[t.jsx("h3",{className:"text-xl font-bold text-gray-900 mb-6",children:e("page190.fees332.additionalCosts.title")}),t.jsxs("div",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-accent-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx("div",{children:t.jsx("p",{className:"text-gray-700",children:e("page190.fees332.additionalCosts.description")})})]})]})]})}),t.jsx("section",{className:"pb-16",children:t.jsx("div",{className:"max-w-screen-xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12",children:[t.jsxs("div",{className:"text-center mb-8",children:[t.jsx(g,{contentKey:"tuition.financialAid.title",translationKey:"page190.fees332.financialAid.title",className:"text-3xl font-bold text-gray-900 mb-4",children:e("page190.fees332.financialAid.title")}),t.jsx(g,{contentKey:"tuition.financialAid.description",translationKey:"page190.fees332.financialAid.description",className:"text-lg text-gray-700",multiline:!0,children:e("page190.fees332.financialAid.description")})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8 mb-8",children:[t.jsxs("div",{children:[t.jsx("h4",{className:"text-lg font-semibold text-gray-900 mb-4",children:e("page190.fees332.financialAid.availableSupport.title")}),t.jsx("ul",{className:"space-y-3",children:n("page190.fees332.financialAid.availableSupport.items").map((a,i)=>t.jsxs("li",{className:"flex items-star
824t",children:[t.jsx("div",{className:"w-2 h-2 bg-secondary-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx("span",{className:"text-gray-700",children:i===1?t.jsx("a",{href:"https://studentaid.alberta.ca/eligibility/",target:"_blank",rel:"noopener noreferrer",className:"text-secondary-600 hover:text-secondary-800 underline",children:a}):a})]},i))})]}),t.jsxs("div",{children:[t.jsx("h4",{className:"text-lg font-semibold text-gray-900 mb-4",children:e("page190.fees332.financialAid.nextSteps.title")}),t.jsx("ul",{className:"space-y-3",children:n("page190.fees332.financialAid.nextSteps.items").map((a,i)=>t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-secondary-100 rounded-full flex items-center justify-center mr-3 mt-0.5",children:t.jsx("span",{className:"text-secondary-600 font-bold text-sm",children:i+1})}),t.jsx("span",{className:"text-gray-700",children:a})]},i))})]})]}),t.jsx("div",{className:"bg-blue-50 rounded-lg p-6 mb-8",children:t.jsx("p",{className:"text-gray-700",children:t.jsx("strong",{children:e("page190.fees332.financialAid.importantNote")})})}),t.jsx("div",{className:"text-center",children:t.jsx($,{to:"/contact",className:"inline-flex items-center px-8 py-4 bg-secondary-600 text-white font-medium rounded-full hover:bg-secondary-700 transform hover:scale-105 transition-all duration-300 shadow-lg",children:t.jsx(g,{contentKey:"tuition.financialAid.contactButton",translationKey:"page190.fees332.financialAid.contactButton",className:"",children:e("page190.fees332.financialAid.contactButton")})})})]})})})]})]})},Jd=()=>{const{t:e}=V();return ie(),t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"Prepare for Your Appointment - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Learn how to prepare for your acupuncture and TCM appointment at CCTCMA. Essential information for first-time patients and treatment guidelines."})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("page.clinic.prepare.hero.title"),subtitle:e("page.clinic.prepare.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsx("div",{className:"max-w-full mx-auto px-4 sm:px-6 lg:px-12 xl:px-16",children:t.jsx("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12 mb-12",children:t.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-8",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("img",{src:"/images/read-to-book.png",alt:"Ready to Book Your Appointment",className:"w-80 md:w-96 h-auto rounded-lg shadow-lg"})}),t.jsx("div",{className:"flex-1 text-center",children:t.jsx(g,{contentKey:"prepare.intro.text",translationKey:"page.clinic.prepare.intro.text",className:"text-xl leading-relaxed text-gray-800",multiline:!0,children:e("page.clinic.prepare.intro.text")})})]})})})}),t.jsx("section",{className:"pb-8",children:t.jsx("div",{className:"max-w-full mx-auto px-4 sm:px-6 lg:px-12 xl:px-16",children:t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8 mb-8",children:[t.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-6 border-b-2 border-primary-200 pb-3",children:t.jsx(g,{contentKey:"prepare.firstVisit.title",translationKey:"page123.step1.title",className:"",children:e("page123.step1.title")})}),t.jsx("div",{className:"space-y-4 text-gray-700 leading-relaxed",children:t.jsx(g,{contentKey:"prepare.firstVisit.content",translationKey:"page123.step1.content",className:"px-4 text-lg",multiline:!0,children:e("page123.step1.content")})})]})})}),t.jsx("section",{className:"pb-8",children:t.jsx("div",{className:"max-w-full mx-auto px-4 sm:px-6 lg:px-12 xl:px-16",children:t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8 mb-8",children:[t.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-6 border-b-2 border-primary-200 pb-3",children:t.jsx(g,{contentKey:"prepare.beforeAppointment.title",translationKey:"page123.step2.title",className:"",children:e("page123.step2.title")})}),t.jsx("div",{className:"space-y-4 text-gray-700 leading-relaxed",children:t.jsx(g,{contentKey:"prepare.beforeAppointment.content",translationKey:"page123.step2.content",className:"px-4 text-lg",multiline:!0,children:e("page123.step2.content")})})]})})}),t.jsx("section",{className:"pb-8",children:t.jsx("div",{className:"max-w-full mx-auto px-4 sm:px-6 lg:px-12 xl:px-16",children:t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8 mb-8",children:[t.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-6 border-b-2 border-primary-200 pb-3",children:t.jsx(g,{contentKey:"prepare.whatToWear.title",translationKey:"page123.step3.title",className:"",children:e("page123.step3.title")})}),t.jsx("div",{className:"space-y-4 text-gray-700 leading-relaxed",children:t.jsx(g,{contentKey:"prepare.whatToWear.content",translationKey:"page123.step3.content",className:"px-4 text-lg",multiline:!0,children:e("page123.step3.content")})})]})})}),t.jsx("section",{className:"pb-8",children:t.jsx("div",{className:"max-w-full mx-auto px-4 sm:px-6 lg:px-12 xl:px-16",children:t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8 mb-8",children:[t.jsx("h2",{className:"text-2xl font-bold text-gray-900 mb-6 border-b-2 border-primary-200 pb-3",children:t.jsx(g,{contentKey:"prepare.whatToEat.title",translationKey:"page123.step4.title",className:"",children:e("page123.step4.title")})}),t.jsx("div",{className:"space-y-4 text-gray-700 leading-relaxed",children:t.jsx(g,{contentKey:"prepare.whatToEat.content",translationKey:"page123.step4.content",className:"px-4 text-lg",multiline:!0,children:e("page123.step4.content")})})]})})}),t.jsx("section",{className:"pb-16",children:t.jsx("div",{className:"max-w-full mx-auto px-4 sm:px-6 lg:px-12 xl:px-16",children:t.jsx("div",{className:"bg-primary-50 rounded-xl p-8 border-l-4 border-primary-500",children:t.jsxs("div",{className:"flex flex-col lg:flex-row items-start gap-8",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("img",{src:"/images/prep-questions.png",alt:"Preparation Questions",className:"w-80 lg:w-96 xl:w-[500px] h-auto rounded-lg shadow-lg"})}),t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsxs("div",{className:"flex flex-col items-center gap-6 mt-16",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("div",{className:"w-16 h-16 bg-primary-500 rounded-full flex items-center justify-center",children:t.jsx("svg",{className:"w-8 h-8 text-white",f
824ill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21L6 11.5c.026.1.058.199.093.295A8.982 8.982 0 0012 18c.096.035.195.067.295.093l2.513-4.224a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.948V19a2 2 0 01-2 2h-1C9.716 21 2 13.284 2 5V4a2 2 0 012-2z"})})})}),t.jsx("div",{className:"text-center",children:t.jsx(g,{contentKey:"prepare.contact.text",translationKey:"page123.contact.text",className:"text-xl text-gray-800 leading-relaxed text-center",multiline:!0,children:e("page123.contact.text")})})]})})]})})})}),t.jsx("section",{className:"py-16 bg-gradient-to-r from-primary-50 to-secondary-50",children:t.jsxs("div",{className:"max-w-full mx-auto px-4 sm:px-6 lg:px-12 xl:px-16 text-center",children:[t.jsx(g,{contentKey:"prepare.cta.title",translationKey:"page123.cta.title",className:"text-3xl font-bold text-gray-900 mb-6",children:e("page123.cta.title")}),t.jsx(g,{contentKey:"prepare.cta.description",translationKey:"page123.cta.description",className:"text-xl text-gray-700 mb-8 px-4",children:e("page123.cta.description")}),t.jsx("div",{className:"flex justify-center mb-8",children:t.jsx("img",{src:"/images/read-to-book.png",alt:"Ready to Book Your Appointment",className:"max-w-md w-full h-auto rounded-lg shadow-lg"})}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsx("a",{href:"https://cctcma.janeapp.com/",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center px-8 py-4 bg-primary-600 text-white font-medium rounded-full hover:bg-primary-700 transform hover:scale-105 transition-all duration-300 shadow-lg",children:t.jsx(g,{contentKey:"prepare.cta.bookButton",translationKey:"page123.cta.bookButton",className:"",children:e("page123.cta.bookButton")})}),t.jsx($,{to:"/clinic",className:"inline-flex items-center px-8 py-4 bg-white text-primary-600 font-medium rounded-full hover:bg-primary-50 border-2 border-primary-600 hover:border-primary-700 transform hover:scale-105 transition-all duration-300 shadow-lg",children:t.jsx(g,{contentKey:"prepare.cta.servicesButton",translationKey:"page123.cta.servicesButton",className:"",children:e("page123.cta.servicesButton")})})]})]})})]})]})};function Nx(){const[e,n]=w.useState({username:"",password:""}),[a,i]=w.useState(""),[r,s]=w.useState(!1),{login:o,isAuthenticated:c,isLoading:l}=pi(),d=on(),p=gt(),{t:u,i18n:m}=V();w.useEffect(()=>{(async()=>{try{await ts()}catch(f){console.error("Database initialization error:",f)}})()},[]),w.useEffect(()=>{if(!l&&c){const f=new URLSearchParams(p.search).get("returnUrl");f?window.location.href=decodeURIComponent(f):d("/admin/dashboard")}},[c,l,d,p.search]);const h=async C=>{if(C.preventDefault(),s(!0),i(""),!e.username||!e.password){i(u("admin.login.emptyCredentials")),s(!1);return}console.log("Attempting login with:",{username:e.username,password:e.password});try{const f=await o(e.username,e.password);if(console.log("Login result:",f),f){console.log("Login successful, navigating...");const y=new URLSearchParams(p.search).get("returnUrl");setTimeout(()=>{y?window.location.href=decodeURIComponent(y):d("/admin/dashboard")},100)}else console.log("Login failed - invalid credentials"),i(u("admin.login.invalidCredentials"))}catch(f){console.error("Login error:",f),i(u("admin.login.loginFailed",{error:f}))}finally{s(!1)}},x=C=>{const{name:f,value:b}=C.target;n(y=>({...y,[f]:b}))};w.useEffect(()=>{const C=localStorage.getItem("cctcma_admin_auth");if(console.log("Current auth state:",{isAuthenticated:c,authLoading:l}),console.log("Saved auth in localStorage:",C),C)try{const f=JSON.parse(C);console.log("Parsed auth data:",f),console.log("Is expired?",f.expiry&&new Date().getTime()>=f.expiry)}catch(f){console.log("Error parsing saved auth:",f)}},[c,l]);const v=()=>{const C=m.language==="zh"?"en":"zh";m.changeLanguage(C)};return l?t.jsx("div",{className:"min-h-screen bg-gradient-to-br from-secondary-50 via-white to-accent-50 flex items-center justify-center py-8 px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-r from-primary-500 to-secondary-500 rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsxs("svg",{className:"animate-spin w-8 h-8 text-white",f
824ill:"none",viewBox:"0 0 24 24",children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}),t.jsx("p",{className:"text-secondary-600",children:"Loading..."})]})}):t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50 flex items-center justify-center py-8 px-4 sm:px-6 lg:px-8 relative overflow-hidden",children:[t.jsxs("div",{className:"absolute inset-0 opacity-10",children:[t.jsx("div",{className:"absolute top-16 left-16 w-32 h-32 border-4 border-primary-300 rounded-full animate-float"}),t.jsx("div",{className:"absolute bottom-20 right-20 w-24 h-24 border-2 border-secondary-300 rounded-full animate-float",style:{animationDelay:"1s"}}),t.jsx("div",{className:"absolute top-1/2 left-1/3 w-16 h-16 bg-accent-200 rounded-full animate-bounce-gentle",style:{animationDelay:"2s"}})]}),t.jsx("div",{className:"absolute top-6 right-6 z-30",children:t.jsxs("button",{onClick:v,className:"flex items-center space-x-2 px-4 py-2 bg-white/90 backdrop-blur-sm text-neutral-600 hover:text-primary-600 transition-all duration-300 rounded-lg hover:bg-white hover:shadow-healing-soft group border border-primary-200/50",children:[t.jsx("svg",{className:"w-5 h-5 group-hover:scale-110 transition-transform duration-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9v-9m0-9v9m0 9c-5 0-9-4-9-9s4-9 9-9"})}),t.jsx("span",{className:"text-sm font-medium",children:m.language==="zh"?"English":"中文"})]})}),t.jsxs("div",{className:"max-w-md w-full space-y-8 relative z-10",children:[t.jsxs("div",{className:"bg-white/95 backdrop-blur-md rounded-3xl p-8 shadow-healing-medium border border-primary-200 text-center",children:[t.jsxs("div",{className:"flex items-center justify-center space-x-3 mb-6",children:[t.jsx("img",{className:"h-14 w-14 object-contain drop-shadow-md",src:"/images/logo.png",alt:"CCTCMA Logo"}),t.jsxs("div",{children:[t.jsx("h1",{className:"text-2xl font-bold text-primary-700 font-chinese leading-tight",children:u("admin.login.title")}),t.jsx("p",{className:"text-sm text-secondary-600",children:u("admin.login.subtitle")})]})]}),t.jsx("div",{className:"w-24 h-1 bg-healing-gradient rounded-full mx-auto"})]}),t.jsxs("form",{className:"bg-white/95 backdrop-blur-md rounded-3xl p-8 shadow-healing-medium border border-primary-200 space-y-6",onSubmit:h,children:[t.jsxs("div",{className:"space-y-5",children:[t.jsxs("div",{children:[t.jsx("label",{htmlFor:"username",className:"block text-sm font-semibold text-primary-700 mb-2",children:u("admin.login.username")}),t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none",children:t.jsx("svg",{className:"h-5 w-5 text-primary-400",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",clipRule:"evenodd"})})}),t.jsx("input",{id:"username",name:"username",type:"text",required:!0,value:e.username,onChange:x,className:"pl-12 appearance-none relative block w-full px-4 py-3 border border-primary-200 placeholder-primary-400 text-primary-900 rounded-xl focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500 transition-all duration-300 text-base bg-white hover:border-primary-300",placeholder:u("admin.login.enterUsername")})]})]}),t.jsxs("div",{children:[t.jsx("label",{htmlFor:"password",className:"block text-sm font-semibold text-primary-700 mb-2",children:u("admin.login.password")}),t.jsxs("div",{className:"relative",children:[t.jsx("div",{className:"absolute inset-y-0 left-0 pl-4 flex items-center pointer-events-none",children:t.jsx("svg",{className:"h-5 w-5 text-primary-400",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z",clipRule:"evenodd"})})}),t.jsx("input",{id:"password",name:"password",type:"password",required:!0,value:e.password,onChange:x,className:"pl-12 appearance-none relative block w-full px-4 py-3 border border-primary-200 placeholder-primary-400 text-primary-900 rounded-xl focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500 transition-all duration-300 text-base bg-white hover:border-primary-300",placeholder:u("admin.login.enterPassword")})]})]})]}),a&&t.jsx("div",{className:"bg-coral-50 border border-coral-200 rounded-xl p-4 animate-fade-in",children:t.jsxs("div",{className:"flex items-center",children:[t.jsx("svg",{className:"w-5 h-5 text-coral-600 mr-3 flex-shrink-0",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})}),t.jsx("p",{className:"text-sm text-coral-700 font-medium",children:a})]})}),t.jsx("div",{children:t.jsx("button",{type:"submit",disabled:r,className:"group relative w-full flex justify-center items-center py-4 px-6 border border-transparent text-lg font-semibold rounded-xl text-white bg-healing-gradient hover:shadow-healing-medium focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500 disabled:opacity-50 disabled:cursor-not-allowed shadow-healing-soft transition-all duration-300 hover:scale-105",children:r?t.jsxs(t.Fragment,{children:[t.jsxs("svg",{className:"animate-spin -ml-1 mr-3 h-6 w-6 text-white",f
824ill:"none",viewBox:"0 0 24 24",children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),u("admin.login.signingIn")]}):t.jsxs(t.Fragment,{children:[t.jsx("svg",{className:"w-6 h-6 mr-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8z"})}),u("admin.login.signIn")]})})})]})]})]})}const $i="https://cctcma.com:8000";class Sx{getAuthToken(){const n=localStorage.getItem("cctcma_admin_auth");if(n)try{return JSON.parse(n).token||null}catch{return null}return null}async makeRequest(n,a={}){try{const i=this.getAuthToken(),r=`${$i}${n}`,s={};a.body instanceof FormData||(s["Content-Type"]="application/json"),i&&(s.Authorization=`Bearer ${i}`);const o={...a,headers:{...s,...a.headers}};console.log(`Making API request to: ${r}`,o);const c=await fetch(r,o);if(!c.ok)throw new Error(`HTTP error! status: ${c.status}`);return{success:!0,data:await c.json()}}catch(i){return console.error("API request failed:",i),{success:!1,error:i instanceof Error?i.message:"Unknown error occurred"}}}async login(n,a){return this.makeRequest("/auth/login",{method:"POST",body:JSON.stringify({username:n,password:a})})}async getCurrentUser(n){const a={};return n&&(a.Authorization=`Bearer ${n}`),this.makeRequest("/auth/me",{method:"GET",headers:a})}async getAllApplications(){return this.makeRequest("/admin/applications")}async getApplicationById(n){return this.makeRequest(`/admin/applications/${n}`)}async updateApplicationStatus(n,a,i){return this.makeRequest(`/admin/applications/${n}/status`,{method:"PUT",body:JSON.stringify({status:a,notes:i})})}async deleteApplication(n){return this.makeRequest(`/admin/applications/${n}`,{method:"DELETE"})}async getApplicationFiles(n){return this.makeRequest(`/api/applications/${n}/files`)}async getApplicationUploadedFiles(n){return this.makeRequest(`/api/applications/${n}/uploaded-files`)}async getAllContacts(){return this.makeRequest("/admin/contacts")}async getContactById(n){return this.makeRequest(`/admin/contacts/${n}`)}async updateContactStatus(n,a,i){return this.makeRequest(`/admin/contacts/${n}/status`,{method:"PUT",body:JSON.stringify({status:a,admin_response:i})})}async deleteContact(n){return this.makeRequest(`/admin/contacts/${n}`,{method:"DELETE"})}async downloadFile(n){try{const a=this.getAuthToken(),i=`${$i}/api/documents/${n}/download`,r={};a&&(r.Authorization=`Bearer ${a}`);const s=await fetch(i,{method:"GET",headers:r});if(!s.ok)throw new Error(`Download failed! status: ${s.status}`);return await s.blob()}catch(a){return console.error("File download failed:",a),null}}async downloadUploadedFile(n){try{const a=this.getAuthToken(),i=`${$i}/api/file-uploads/${n}/download`,r={};a&&(r.Authorization=`Bearer ${a}`);const s=await fetch(i,{method:"GET",headers:r});if(!s.ok)throw new Error(`Download failed! status: ${s.status}`);return await s.blob()}catch(a){return console.error("File download failed:",a),null}}async downloadOCIFile(n,a){try{const i=this.getAuthToken(),r=new URLSearchParams({object_name:n,bucket_name:a}),s=`${$i}/api/oci/download?${r.toString()}`,o={};i&&(o.Authorization=`Bearer ${i}`);const c=await fetch(s,{method:"GET",headers:o});if(!c.ok)throw new Error(`OCI download failed! status: ${c.status}`);return await c.blob()}catch(i){return console.error("OCI file download failed:",i),null}}async cleanupOrphanedApplications(){return this.makeRequest("/admin/cleanup-orphaned-applications",{method:"POST"})}async validateFileIntegrity(){return this.makeRequest("/admin/validate-file-integrity",{method:"POST"})}async cleanupOrphanedFiles(){return this.makeRequest("/admin/cleanup-orphaned-files",{method:"POST"})}async getStats(){return this.makeRequest("/admin/stats")}
824async submitApplication(n){return this.makeRequest("/api/applications",{method:"POST",body:JSON.stringify(n)})}async submitContact(n){return this.makeRequest("/contacts",{method:"POST",body:JSON.stringify(n)})}async uploadFile(n,a=!1){const i=new FormData;return i.append("file",n),a&&i.append("use_oci","true"),this.makeRequest("/upload",{method:"POST",headers:{},body:i})}}const bt=new Sx,Ip=Object.freeze(Object.defineProperty({__proto__:null,apiService:bt},Symbol.toStringTag,{value:"Module"}));function Tx(){const{isAuthenticated:e,isLoading:n,logout:a,user:i}=pi(),r=j=>j==null||j===""||typeof j=="string"&&j.trim()===""?"-":String(j),s=on(),{t:o,i18n:c}=V(),l=()=>{const j=c.language==="zh"?"en":"zh";c.changeLanguage(j)},[d,p]=w.useState("submissions"),[u,m]=w.useState("all"),[h,x]=w.useState("all"),[v,C]=w.useState([]),[f,b]=w.useState([]),[y,N]=w.useState(null),[S,k]=w.useState(null),[T,I]=w.useState({}),[A,D]=w.useState(!1),[H,O]=w.useState(null),[Q,B]=w.useState({total_applications:0,total_contacts:0,total_files:0}),[L,_]=w.useState({}),[R,M]=w.useState(""),[F,z]=w.useState(""),[q,J]=w.useState(""),[fe,se]=w.useState(""),[Qe,Ee]=w.useState(!1),[je,ca]=w.useState(null);w.useEffect(()=>{n||(e?da():s("/admin/login"))},[e,n,s]);const da=async()=>{D(!0),O(null);try{console.log("📋 Loading applications from backend...");const j=await bt.getAllApplications();if(j.success&&j.data){C(j.data),console.log("✅ Loaded applications:",j.data.length,"items");const de=j.data.filter(ue=>ue.application_type==="uploaded_file");console.log("📁 Found uploaded applications:",de.length);const Ke={};for(const ue of de)if(ue.id){console.log(`📁 Loading files for application ${ue.id} (${ue.first_name} ${ue.last_name})`);const ga=await bt.getApplicationUploadedFiles(ue.id);console.log(`📁 Files result for app ${ue.id}:`,ga),ga.success&&ga.data?(Ke[ue.id]=ga.data.files||[],console.log(`📁 Loaded ${Ke[ue.id].length} files for app ${ue.id}`)):console.error(`❌ Failed to load files for app ${ue.id}:`,ga.error)}console.log("📁 Final files data:",Ke),I(Ke)}else O("Failed to load application data: "+j.error);console.log("📞 Loading contacts from backend...");const E=await bt.getAllContacts();E.success&&E.data?(b(E.data),console.log("✅ Loaded contacts:",E.data.length,"items")):O("Failed to load contact data: "+E.error);const pe=await bt.getStats();pe.success&&pe.data&&B(pe.data)}catch(j){console.error("Error loading data:",j),O("Error loading dashboard data")}finally{D(!1)}},yi=async(j,E,pe)=>{try{const de=await bt.updateApplicationStatus(j,E,pe);de.success?(C(Ke=>Ke.map(ue=>ue.id===j?{...ue,status:E,notes:pe}:ue)),N(null),M(""),z("")):O("Failed to update application status: "+de.error)}catch(de){console.error("Error updating application:",de),O("Error updating application status")}},xi=async(j,E,pe)=>{try{const de=await bt.updateContactStatus(j,E,pe);de.success?(b(Ke=>Ke.map(ue=>ue.id===j?{...ue,status:E}:ue)),k(null),J(""),se("")):O("Failed to update contact status: "+de.error)}catch(de){console.error("Error updating contact:",de),O("Error updating contact status")}},ua=async j=>{if(window.confirm("Are you sure you want to delete this application? This will also delete all associated files from Oracle Cloud storage. This action cannot be undone.")){_(E=>({...E,[j]:!0})),O(null);try{const E=await bt.deleteApplication(j);E.success?(C(pe=>pe.filter(de=>de.id!==j)),I(pe=>{const de={...pe};return delete de[j],de}),B(pe=>({...pe,total_applications:pe.total_applications-1})),N(null)):O(`Failed to delete application: ${E.error||"Unknown error"}`)}catch(E){console.error("Error deleting application:",E),O("Error occurred while deleting application")}finally{_(E=>({...E,[j]:!1}))}}},bi=async j=>{if(window.confirm("Are you sure you want to delete this contact?"))try{const E=await bt.deleteContact(j);E.success?(b(pe=>pe.filter(de=>de.id!==j)),k(null)):O("Failed to delete contact: "+E.error)}catch(E){console.error("Error deleting contact:",E),O("Error deleting contact")}},vi=async j=>{try{console.log("Download request for file:",j);let E=null;const{apiService:pe}=await Hl(async()=>{const{apiService:ue}=await Promise.resolve().then(()=>Ip);return{apiService:ue}},void 0);if(j.is_oci_file&&j.object_name?(console.log("Downloading OCI file via authenticated API:",j.object_name),E=await pe.downloadOCIFile(j.object_name,j.bucket_name||"")):(console.log("Downloading uploaded file via API:",j.id),E=await pe.downloadUploadedFile(j.id)),!E)throw new Error("Failed to download file - no data received");const de=URL.createObjectURL(E),Ke=document.createElement("a");Ke.href=de,Ke.download=j.original_filename,document.body.appendChild(Ke),Ke.click(),document.body.removeChild(Ke),URL.revokeObjectURL(de),console.log("Download completed for:",j.original_filename)}catch(E){console.error("Error downloading file:",E),j.is_oci_file?O(`File "${j.original_filename}" may no longer be available in cloud storage. The file reference exists but the actual file might have been moved or deleted. Consider running "Validate File Integrity" to clean up missing files automatically.`):O(`Error downloading file: ${E instanceof Error?E.message:"Unknown error"}`)}},wi=async()=>{Ee(!0),O(null),ca(null);try{const j=await bt.validateFileIntegrity();j.success&&j.data?(ca(j.data),await da()):O("Failed to validate file integrity")}catch(j){console.error("Error validating file integrity:",j),O(`Error during file val
824idation: ${j instanceof Error?j.message:"Unknown error"}`)}finally{Ee(!1)}},ma=v.filter(j=>u==="all"?!0:j.status===u),pa=f.filter(j=>h==="all"?!0:j.status===h),ft=v.filter(j=>j.application_type==="uploaded_file"),st=()=>({all:v.length,pending:v.filter(j=>j.status==="pending").length,reviewed:v.filter(j=>j.status==="reviewed").length,accepted:v.filter(j=>j.status==="accepted").length,rejected:v.filter(j=>j.status==="rejected").length}),ln=()=>({all:f.length,new:f.filter(j=>j.status==="new").length,read:f.filter(j=>j.status==="read").length,replied:f.filter(j=>j.status==="replied").length,closed:f.filter(j=>j.status==="closed").length}),ha=()=>({all:ft.length,pending:ft.filter(j=>j.status==="pending").length,reviewed:ft.filter(j=>j.status==="reviewed").length,accepted:ft.filter(j=>j.status==="accepted").length,rejected:ft.filter(j=>j.status==="rejected").length});return n?t.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary-50 to-accent-50",children:t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"animate-spin rounded-full h-32 w-32 border-b-2 border-primary-600 mx-auto"}),t.jsx("p",{className:"mt-4 text-lg text-primary-600",children:"Loading dashboard..."})]})}):e?t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 to-accent-50",children:[t.jsx("header",{className:"bg-white/95 backdrop-blur-md shadow-healing-soft sticky top-0 z-50 border-b border-primary-200",children:t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"flex justify-between items-center py-6",children:[t.jsxs("div",{className:"flex items-center space-x-4",children:[t.jsx("img",{className:"h-14 w-14 md:h-16 md:w-16 object-contain drop-shadow-md",src:"/images/logo.png",alt:"Calgary College of Traditional Chinese Medicine and Acupuncture Logo"}),t.jsxs("div",{children:[t.jsx("h1",{className:"text-2xl md:text-3xl font-bold text-primary-800",children:o("admin.dashboard.title")}),t.jsxs("p",{className:"text-primary-600 text-sm mt-1",children:["Welcome back, ",(i==null?void 0:i.full_name)||(i==null?void 0:i.username)]})]})]}),t.jsxs("div",{className:"flex items-center space-x-4",children:[t.jsx("a",{href:"/",target:"_blank",rel:"noopener noreferrer",className:"px-4 py-2 text-sm font-medium text-primary-600 bg-primary-50 border border-primary-200 rounded-lg hover:bg-primary-100 transition-all duration-300 shadow-sm",children:o("admin.dashboard.viewWebsite")}),t.jsx("button",{onClick:l,className:"px-4 py-2 text-sm font-medium text-primary-600 bg-primary-50 border border-primary-200 rounded-lg hover:bg-primary-100 transition-all duration-300 shadow-sm",children:c.language==="zh"?"English":"中文"}),t.jsx("button",{onClick:a,className:"px-4 py-2 text-sm font-medium text-white bg-red-600 border border-transparent rounded-lg hover:bg-red-700 transition-all duration-300 shadow-sm",children:o("admin.dashboard.logout")})]})]})})}),H&&t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 mt-6",children:t.jsx("div",{className:"bg-red-50 border border-red-200 rounded-lg p-4",children:t.jsxs("div",{className:"flex",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("svg",{className:"h-5 w-5 text-red-400",viewBox:"0 0 20 20",fill:"currentColor",children:t.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})}),t.jsxs("div",{className:"ml-3",children:[t.jsx("h3",{className:"text-sm font-medium text-red-800",children:"Error"}),t.jsx("div",{className:"mt-2 text-sm text-red-700",children:t.jsx("p",{children:H})}),t.jsx("div",{className:"mt-4",children:t.jsx("button",{type:"button",onClick:()=>O(null),className:"bg-red-50 px-2 py-1.5 rounded-md text-red-800 hover:bg-red-100 text-sm",children:"Dismiss"})})]})]})})}),t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8",children:[t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6 mb-8",children:[t.jsx("div",{className:"bg-white/95 backdrop-blur-md rounded-2xl shadow-healing-soft border border-primary-200 p-6 hover:shadow-healing-medium transition-all duration-300",children:t.jsxs("div",{className:"flex items-center",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("div",{className:"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center shadow-sm",children:t.jsx("svg",{className:"w-6 h-6 text-white",f
824ill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})})}),t.jsx("div",{className:"ml-5 w-0 flex-1",children:t.jsxs("dl",{children:[t.jsx("dt",{className:"text-sm font-medium text-primary-600 truncate",children:"Total Applications"}),t.jsx("dd",{className:"text-2xl font-bold text-primary-800",children:Q.total_applications})]})})]})}),t.jsx("div",{className:"bg-white/95 backdrop-blur-md rounded-2xl shadow-healing-soft border border-primary-200 p-6 hover:shadow-healing-medium transition-all duration-300",children:t.jsxs("div",{className:"flex items-center",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("div",{className:"w-12 h-12 bg-gradient-to-br from-green-500 to-green-600 rounded-xl flex items-center justify-center shadow-sm",children:t.jsx("svg",{className:"w-6 h-6 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})})})}),t.jsx("div",{className:"ml-5 w-0 flex-1",children:t.jsxs("dl",{children:[t.jsx("dt",{className:"text-sm font-medium text-primary-600 truncate",children:"Total Contacts"}),t.jsx("dd",{className:"text-2xl font-bold text-primary-800",children:Q.total_contacts})]})})]})}),t.jsx("div",{className:"bg-white/95 backdrop-blur-md rounded-2xl shadow-healing-soft border border-primary-200 p-6 hover:shadow-healing-medium transition-all duration-300",children:t.jsxs("div",{className:"flex items-center",children:[t.jsx("div",{className:"flex-shrink-0",children:t.jsx("div",{className:"w-12 h-12 bg-gradient-to-br from-purple-500 to-purple-600 rounded-xl flex items-center justify-center shadow-sm",children:t.jsx("svg",{className:"w-6 h-6 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})})}),t.jsx("div",{className:"ml-5 w-0 flex-1",children:t.jsxs("dl",{children:[t.jsx("dt",{className:"text-sm font-medium text-primary-600 truncate",children:"Total Files"}),t.jsx("dd",{className:"text-2xl font-bold text-primary-800",children:Q.total_files})]})})]})})]}),t.jsx("div",{className:"bg-white/95 backdrop-blur-md rounded-2xl shadow-healing-soft border border-primary-200 p-6 mb-6",children:t.jsxs("div",{className:"flex flex-wrap gap-3 justify-center",children:[t.jsxs("button",{onClick:()=>p("submissions"),className:`px-6 py-3 rounded-xl font-medium text-sm transition-all duration-300 ${d==="submissions"?"bg-gradient-to-r from-primary-600 to-primary-700 text-white shadow-healing-medium hover:shadow-healing-strong":"bg-primary-50 text-primary-600 hover:bg-primary-100 hover:shadow-sm"}`,children:[o("admin.dashboard.applications")," (",st().all,")"]}),t.jsxs("button",{onClick:()=>p("contacts"),className:`px-6 py-3 rounded-xl font-medium text-sm transition-all duration-300 ${d==="contacts"?"bg-gradient-to-r from-primary-600 to-primary-700 text-white shadow-healing-medium hover:shadow-healing-strong":"bg-primary-50 text-primary-600 hover:bg-primary-100 hover:shadow-sm"}`,children:[o("admin.dashboard.contactForms")," (",ln().all,")"]}),t.jsxs("button",{onClick:()=>p("uploaded-applications"),className:`px-6 py-3 rounded-xl font-medium text-sm transition-all duration-300 ${d==="uploaded-applications"?"bg-gradient-to-r from-primary-600 to-primary-700 text-white shadow-healing-medium hover:shadow-healing-strong":"bg-primary-50 text-primary-600 hover:bg-primary-100 hover:shadow-sm"}`,children:[o("admin.uploadedApplications.title")," (",ha().all,")"]})]})}),d==="submissions"&&t.jsxs("div",{className:"space-y-6",children:[t.jsx("div",{className:"bg-white/95 backdrop-blur-sm rounded-2xl shadow-healing-soft border border-primary-200 p-6",children:t.jsx("div",{className:"flex flex-wrap gap-2 justify-center",children:["all","pending","reviewed","accepted","rejected"].map(j=>t.jsxs("button",{onClick:()=>m(j),className:`px-4 py-2 rounded-lg font-medium text-sm transition-all duration-300 ${u===j?j==="all"?"bg-primary-600 text-white shadow-healing-medium":j==="pending"?"bg-yellow-600 text-white shadow-healing-medium":j==="reviewed"?"bg-blue-600 text-white shadow-healing-medium":j==="accepted"?"bg-green-600 text-white shadow-healing-medium":"bg-red-600 text-white shadow-healing-medium":j==="all"?"bg-primary-50 text-primary-600 hover:bg-primary-100":j==="pending"?"bg-yellow-50 text-yellow-600 hover:bg-yellow-100":j==="reviewed"?"bg-blue-50 text-blue-600 hover:bg-blue-100":j==="accepted"?"bg-green-50 text-green-600 hover:bg-green-100":"bg-red-50 text-red-600 hover:bg-red-100"}`,children:[j==="all"?"All":j.charAt(0).toUpperCase()+j.slice(1)," (",st()[j],")"]},j))})}),t.jsx("div",{className:"bg-white/95 backdrop-blur-sm rounded-2xl shadow-healing-soft border border-primary-200 overflow-hidden",children:A?t.jsxs("div",{className:"p-6 text-center",children:[t.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600 mx-auto"}),t.jsx("p",{className:"mt-2 text-primary-600",children:"Loading applications..."})]}):ma.length===0?t.jsx("div",{className:"p-6 text-center text-gray-500",children:t.jsx("p",{children:"No applications foun
824d for the selected filter."})}):t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"min-w-full divide-y divide-gray-200",children:[t.jsx("thead",{className:"bg-gray-50",children:t.jsxs("tr",{children:[t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Name"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Email"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Program"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Status"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Submitted"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Actions"})]})}),t.jsx("tbody",{className:"bg-white divide-y divide-gray-200",children:ma.map(j=>t.jsxs("tr",{className:"hover:bg-gray-50",children:[t.jsxs("td",{className:"px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900",children:[j.first_name," ",j.last_name]}),t.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500",children:j.email}),t.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500",children:j.program}),t.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:t.jsx("span",{className:`inline-flex px-2 py-1 text-xs font-semibold rounded-full ${j.status==="pending"?"bg-yellow-100 text-yellow-800":j.status==="reviewed"?"bg-blue-100 text-blue-800":j.status==="accepted"?"bg-green-100 text-green-800":"bg-red-100 text-red-800"}`,children:j.status})}),t.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500",children:new Date(j.created_at).toLocaleDateString()}),t.jsxs("td",{className:"px-6 py-4 whitespace-nowrap text-sm font-medium",children:[t.jsx("button",{onClick:()=>N(j),className:"text-primary-600 hover:text-primary-900 mr-3",children:"View"}),t.jsx("button",{onClick:()=>ua(j.id),className:"text-red-600 hover:text-red-900",children:"Delete"})]})]},j.id))})]})})})]}),d==="contacts"&&t.jsxs("div",{className:"space-y-6",children:[t.jsx("div",{className:"bg-white/95 backdrop-blur-sm rounded-2xl shadow-healing-soft border border-primary-200 p-6",children:t.jsx("div",{className:"flex flex-wrap gap-2 justify-center",children:["all","new","read","replied","closed"].map(j=>t.jsxs("button",{onClick:()=>x(j),className:`px-4 py-2 rounded-lg font-medium text-sm transition-all duration-300 ${h===j?j==="all"?"bg-primary-600 text-white shadow-healing-medium":j==="new"?"bg-yellow-600 text-white shadow-healing-medium":j==="read"?"bg-blue-600 text-white shadow-healing-medium":j==="replied"?"bg-green-600 text-white shadow-healing-medium":"bg-gray-600 text-white shadow-healing-medium":j==="all"?"bg-primary-50 text-primary-600 hover:bg-primary-100":j==="new"?"bg-yellow-50 text-yellow-600 hover:bg-yellow-100":j==="read"?"bg-blue-50 text-blue-600 hover:bg-blue-100":j==="replied"?"bg-green-50 text-green-600 hover:bg-green-100":"bg-gray-50 text-gray-600 hover:bg-gray-100"}`,children:[j==="all"?"All":j.charAt(0).toUpperCase()+j.slice(1)," (",ln()[j],")"]},j))})}),t.jsx("div",{className:"bg-white/95 backdrop-blur-sm rounded-2xl shadow-healing-soft border border-primary-200 overflow-hidden",children:A?t.jsxs("div",{className:"p-6 text-center",children:[t.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600 mx-auto"}),t.jsx("p",{className:"mt-2 text-primary-600",children:"Loading contacts..."})]}):pa.length===0?t.jsx("div",{className:"p-6 text-center text-gray-500",children:t.jsx("p",{children:"No contacts found for the selected filter."})}):t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"min-w-full divide-y divide-gray-200",children:[t.jsx("thead",{className:"bg-gray-50",children:t.jsxs("tr",{children:[t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Name"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Email"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Subject"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Status"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Submitted"}),t.jsx("th",{className:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider",children:"Actions"})]})}),t.jsx("tbody",{className:"bg-white divide-y divide-gray-200",children:pa.map(j=>t.jsxs("tr",{className:"hover:bg-gray-50",children:[t.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900",children:j.name}),t.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500",children:j.email}),t.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500",children:j.subject}),t.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:t.jsx("span",{className:`inline-flex px-2 py-1 text-xs font-semibold rounded-full ${j.status==="new"?"bg-yellow-100 text-yellow-800":j.status==="read"?"bg-blue-100 text-blue-800":j.status==="replied"?"bg-green-100 text-green-800":"bg-gray-100 text-gray-800"}`,children:j.status})}),t.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-500",children:new Date(j.created_at).toLocaleDateString()}),t.jsxs("td",{className:"px-6 py-4 whitespace-nowrap text-sm font-medium",children:[t.jsx("button",{onClick:()=>k(j),className:"text-primary-600 hover:text-primary-900 mr-3",children:"View"}),t.jsx("button",{onClick:()=>bi(j.id),className:"text-red-600 hover:text-red-900",children:"Delete"})]})]},j.id))})]})})})]}),d==="uploaded-applications"&&t.jsxs("div",{className:"space-y-6",children:[t.jsx("div",{className:"bg-white/95 backdrop-blur-sm rounded-2xl shadow-healing-soft border border-primary-200 p-6",children:t.jsx("div",{className:"flex flex-wrap gap-2 justify-center",children:["all","pending","reviewed","accepted","rejected"].map(j=>t.jsxs("button",{onClick:()=>m(j),className:`px-4 py-2 rounded-lg font-medium text-sm transition-all duration-300 ${u===j?j==="all"?"bg-primary-600 text-white shadow-healing-medium":j==="pending"?"bg-yellow-600 text-white shadow-healing-medium":j==="reviewed"?"bg-blue-600 text-white shadow-healing-medium":j==="accepted"?"bg-green-600 text-white shadow-healing-medium":"bg-red-600 text-white shadow-healing-medium":j==="all"?"bg-primary-50 text-primary-600 hover:bg-primary-100":j==="pending"?"bg-yellow-50 text-yellow-600 hover:bg-yellow-100":j==="reviewed"?"bg-blue-50 text-blue-600 hover:bg-blue-100":j==="accepted"?"bg-green-50 text-green-600 hover:bg-green-100":"bg-red-50 text-red-600 hover:bg-red-100"}`,children:[j==="all"?"All":j.charAt(0).toUpperCase()+j.slice(1)," (",ha()[j],")"]},j))})}),t.jsx("div",{className:"bg-white/95 backdrop-blur-sm rounded-2xl shadow-healing-soft border border-primary-200 p-6",children:t.jsxs("div",{className:"flex flex-col gap-4",children:[t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 items-start sm:items-center justify-between",children:[t.jsxs("div",{className:"text-sm text-gray-600",children:[t.jsx("p",{className:"font-medium text-lg mb-2",children:"File Management & Integrity"}),t.jsx("p",{children:"Automatic cleanup runs every 30 minutes to remove orphaned applications and missing OCI files."}),t.jsx("p",{children:"You can also run manual validation to immediately check for and clean up any issues."})]}),t.jsxs("div",{className:"flex items-center text-green-600",children:[t.jsx("svg",{className:"w-5 h-5 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),t.jsx("span",{className:"text-sm font-medium",children:"Enhanced Cleanup Enabled"})]})]}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 pt-3 border-t border-gray-200",children:[t.jsx("button",{onClick:wi,disabled:Qe,className:"flex items-center justify-center px-4 py-2 bg-primary-600 text-white rounded-lg hover:bg-primary-700 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:Qe?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"animate-spin rounded-full h-4 w-4 border-b-2 border-white mr-2"}),"Validating Files..."]}):t.jsxs(t.Fragment,{children:[t.jsx("svg",{className:"w-4 h-4 mr-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})}),"Validate File Integrity"]})}),t.jsx("div",{className:"text-xs text-gray-500 self-center",children:"Check for missing OCI files and clean up orphaned applications"})]}),je&&t.jsxs("div",{className:"mt-4 p-4 bg-blue-50 border border-blue-200 rounded-lg",children:[t.jsx("h4",{className:"font-medium text-blue-800 mb-2",children:"Validation Results"}),t.jsxs("div",{className:"text-sm text-blue-700 space-y-1",children:[t.jsxs("p",{children:["✅ Validated ",je.validated_applications," applications"]}),je.cleaned_files>0&&t.jsxs("p",{children:["🗑️ Cleaned ",je.cleaned_files," missing files"]}),je.cleaned_applications>0&&t.jsxs("p",{children:["🗑️ Removed ",je.cleaned_applications," orphaned applications"]}),je.issues_found.length>0&&t.jsxs("details",{className:"mt-2",children:[t.jsxs("summary",{className:"cursor-pointer font-medium",children:["Issues Found (",je.issues_found.length,")"]}),t.jsx("ul",{className:"mt-2 space-y-1 text-xs",children:je.issues_found.map((j,E)=>t.jsxs("li",{className:"pl-2",children:["• ",j.applicant_name?`${j.applicant_name}: `:"",j.issue,j.filename&&` (${j.filename})`]},E))})]})]})]})]})}),t.jsx("div",{className:"grid gap-6",children:A?t.jsxs("div",{className:"bg-white/95 backdrop-blur-sm rounded-2xl shadow-healing-soft border border-primary-200 p-6 text-center",children:[t.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary-600 mx-auto"}),t.jsx("p",{className:"mt-2 text-primary-600",children:"Loading uploaded applications..."})]}):ft.filter(j=>u==="all"||j.status===u).length===0?t.jsx("div",{className:"bg-white/95 backdrop-blur-sm rounded-2xl shadow-healing-soft border border-primary-200 p-6 text-center text-gray-500",children:t.jsx("p",{children:"No uploaded applications foun
824d for the selected filter."})}):ft.filter(j=>u==="all"||j.status===u).map(j=>t.jsxs("div",{className:"bg-white/95 backdrop-blur-sm rounded-2xl shadow-healing-soft border border-primary-200 p-6",children:[t.jsxs("div",{className:"flex justify-between items-start mb-4",children:[t.jsxs("div",{children:[t.jsxs("h3",{className:"text-lg font-semibold text-primary-800",children:[j.first_name," ",j.last_name]}),t.jsx("p",{className:"text-primary-600",children:j.email}),t.jsx("p",{className:"text-sm text-gray-500 mt-1",children:j.program})]}),t.jsxs("div",{className:"flex items-center space-x-2",children:[t.jsx("span",{className:`inline-flex px-2 py-1 text-xs font-semibold rounded-full ${j.status==="pending"?"bg-yellow-100 text-yellow-800":j.status==="reviewed"?"bg-blue-100 text-blue-800":j.status==="accepted"?"bg-green-100 text-green-800":"bg-red-100 text-red-800"}`,children:j.status}),t.jsx("button",{onClick:()=>N(j),className:"text-primary-600 hover:text-primary-900 text-sm font-medium",children:"Edit Status"}),t.jsx("button",{onClick:()=>ua(j.id),disabled:L[j.id],className:"flex items-center px-2 py-1 text-sm text-red-600 bg-red-50 border border-red-200 rounded hover:bg-red-100 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:L[j.id]?t.jsxs(t.Fragment,{children:[t.jsxs("svg",{className:"animate-spin -ml-1 mr-1 h-3 w-3 text-red-600",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Deleting..."]}):t.jsxs(t.Fragment,{children:[t.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})}),"Delete"]})})]})]}),t.jsxs("div",{className:"mt-4",children:[t.jsx("h4",{className:"text-sm font-medium text-gray-700 mb-2",children:"Uploaded Files:"}),T[j.id]&&T[j.id].length>0?t.jsx("div",{className:"grid gap-2",children:T[j.id].filter(E=>E.file_size>0).map(E=>t.jsxs("div",{className:"flex items-center justify-between p-3 bg-gray-50 rounded-lg border",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-sm font-medium text-gray-900",children:E.original_filename}),t.jsxs("p",{className:"text-xs text-gray-500",children:[(E.file_size/1024/1024).toFixed(2)," MB • ",E.content_type]}),t.jsxs("p",{className:"text-xs text-gray-400",children:["Uploaded: ",new Date(E.uploaded_at).toLocaleDateString()]}),E.is_oci_file&&t.jsxs("div",{className:"space-y-1",children:[t.jsx("p",{className:"text-xs text-blue-500 font-medium",children:"📁 Stored in Oracle Cloud"}),E.download_url&&E.download_url_expires_at&&t.jsxs("p",{className:"text-xs text-green-600",children:["🔐 Secure download link ready (expires ",new Date(E.download_url_expires_at).toLocaleTimeString(),")"]})]})]}),t.jsxs("button",{onClick:()=>vi(E),className:"flex items-center px-3 py-1 text-sm text-primary-600 bg-primary-50 border border-primary-200 rounded hover:bg-primary-100 transition-colors",children:[t.jsx("svg",{className:"w-4 h-4 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})}),"Download"]})]},E.id))}):t.jsx("p",{className:"text-sm text-gray-500 italic",children:"No files uploaded for this application."})]}),t.jsx("div",{className:"mt-4 pt-4 border-t border-gray-200",children:t.jsxs("p",{className:"text-xs text-gray-500",children:["Submitted: ",new Date(j.created_at).toLocaleDateString()," at ",new Date(j.created_at).toLocaleTimeString()]})})]},j.id))})]})]}),y&&t.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center p-4 z-50",children:t.jsx("div",{className:"bg-white rounded-lg max-w-2xl w-full max-h-screen overflow-y-auto",children:t.jsxs("div",{className:"p-6",children:[t.jsxs("div",{className:"flex justify-between items-center mb-4",children:[t.jsxs("h3",{className:"text-lg font-medium text-gray-900",children:["Application Details: ",y.first_name," ",y.last_name]}),t.jsx("button",{onClick:()=>N(null),className:"text-gray-400 hover:text-gray-600",children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Email"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:y.email})]}),y.phone&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Phone"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:y.phone})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Program"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:y.program})]}),y.start_date&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Start Date"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:y.start_date})]}),y.work_experience&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Work Experience"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:y.work_experience})]}),y.motivation&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Motivation"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:y.motivation})]}),y.additional_info&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Additional Information"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:y.additional_info})]}),y.form_data&&t.jsxs("div",{className:"border-t pt-4 mt-4",children:[t.jsx("h3",{className:"text-lg font-semibold text-gray-800 mb
824-4",children:"Complete Application Details"}),t.jsxs("div",{className:"mb-4",children:[t.jsx("h4",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Personal Information"}),t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Middle Initial"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.middleInitial)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Gender"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.gender)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Date of Birth"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.dateOfBirth)})]})]})]}),t.jsxs("div",{className:"mb-4",children:[t.jsx("h4",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Address Information"}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Permanent Address"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.permanentAddress)})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Apartment"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.apartment)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Country"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.country)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"City"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.city)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"State/Province"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.state)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Zip/Postal Code"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.zipCode)})]})]})]})]}),t.jsxs("div",{className:"mb-4",children:[t.jsx("h4",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Contact Information"}),t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Home Phone"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.phoneHome)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Work Phone"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.phoneWork)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Cell Phone"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.phoneCell)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Preferred Contact"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.preferredContact)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Citizenship"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.citizenship)})]})]})]}),t.jsxs("div",{className:"mb-4",children:[t.jsx("h4",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Program Selection"}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Study Mode"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.studyMode)})]})]}),t.jsxs("div",{className:"mb-4",children:[t.jsx("h4",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Education History"}),t.jsx("div",{className:"space-y-4",children:(()=>{var j;try{let E=(j=y.form_data)==null?void 0:j.educationHistory;return!E&&y.education_background&&(E=typeof y.education_background=="string"?JSON.parse(y.education_background):y.education_background),E&&(E.institution1&&(E.institution1.name||E.institution1.level)||E.institution2&&(E.institution2.name||E.institution2.level)||E.institution3&&(E.institution3.name||E.institution3.level))?t.jsxs(t.Fragment,{children:[E.institution1&&(E.institution1.name||E.institution1.level)&&t.jsxs("div",{className:"border-l-4 border-blue-500 pl-4 bg-blue-50 p-3 rounded",children:[t.jsx("h5",{className:"font-semibold text-sm text-gray-800 mb
824-2",children:"Institution 1"}),t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Name:"})," ",r(E.institution1.name)]}),t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Level:"})," ",r(E.institution1.level)]}),t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Period:"})," ",r(E.institution1.dateFrom)," to ",r(E.institution1.dateTo)]}),E.institution1.address&&t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Address:"})," ",r(E.institution1.address)]})]}),E.institution2&&(E.institution2.name||E.institution2.level)&&t.jsxs("div",{className:"border-l-4 border-green-500 pl-4 bg-green-50 p-3 rounded",children:[t.jsx("h5",{className:"font-semibold text-sm text-gray-800 mb-2",children:"Institution 2"}),t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Name:"})," ",r(E.institution2.name)]}),t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Level:"})," ",r(E.institution2.level)]}),t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Period:"})," ",r(E.institution2.dateFrom)," to ",r(E.institution2.dateTo)]}),E.institution2.address&&t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Address:"})," ",r(E.institution2.address)]})]}),E.institution3&&(E.institution3.name||E.institution3.level)&&t.jsxs("div",{className:"border-l-4 border-purple-500 pl-4 bg-purple-50 p-3 rounded",children:[t.jsx("h5",{className:"font-semibold text-sm text-gray-800 mb-2",children:"Institution 3"}),t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Name:"})," ",r(E.institution3.name)]}),t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Level:"})," ",r(E.institution3.level)]}),t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Period:"})," ",r(E.institution3.dateFrom)," to ",r(E.institution3.dateTo)]}),E.institution3.address&&t.jsxs("p",{className:"text-sm text-gray-700",children:[t.jsx("strong",{children:"Address:"})," ",r(E.institution3.address)]})]})]}):t.jsx("p",{className:"text-sm text-gray-500 italic",children:"-"})}catch{return t.jsx("p",{className:"text-sm text-gray-500 italic",children:"-"})}})()})]}),t.jsxs("div",{className:"mb-4",children:[t.jsx("h4",{className:"text-sm font-semibold text-gray-700 mb-2",children:"Backgroun
824d Information"}),t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Crime Conviction"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.crimeConviction)}),y.form_data.crimeDetails&&y.form_data.crimeDetails.trim()&&t.jsxs("p",{className:"mt-1 text-sm text-gray-700 italic",children:["Details: ",y.form_data.crimeDetails]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Contagious Diseases"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.contagiousDiseases)}),y.form_data.diseaseDetails&&y.form_data.diseaseDetails.trim()&&t.jsxs("p",{className:"mt-1 text-sm text-gray-700 italic",children:["Details: ",y.form_data.diseaseDetails]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Attestation"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.attestation)})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs font-medium text-gray-600",children:"Additional Education"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:r(y.form_data.additionalEducation)})]})]})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Status"}),t.jsxs("select",{value:R||y.status,onChange:j=>M(j.target.value),className:"mt-1 block w-full border-gray-300 rounded-md shadow-sm focus:ring-primary-500 focus:border-primary-500",children:[t.jsx("option",{value:"pending",children:"Pending"}),t.jsx("option",{value:"reviewed",children:"Reviewed"}),t.jsx("option",{value:"accepted",children:"Accepted"}),t.jsx("option",{value:"rejected",children:"Rejected"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Admin Notes"}),t.jsx("textarea",{value:F||y.notes||"",onChange:j=>z(j.target.value),rows:3,className:"mt-1 block w-full border-gray-300 rounded-md shadow-sm focus:ring-primary-500 focus:border-primary-500",placeholder:"Add admin notes..."})]}),t.jsxs("div",{className:"flex justify-end space-x-3 pt-4",children:[t.jsx("button",{onClick:()=>N(null),className:"px-4 py-2 text-sm font-medium text-gray-700 bg-gray-100 border border-gray-300 rounded-md hover:bg-gray-200",children:"Cancel"}),t.jsx("button",{onClick:()=>yi(y.id,R||y.status,F||y.notes),className:"px-4 py-2 text-sm font-medium text-white bg-primary-600 border border-transparent rounded-md hover:bg-primary-700",children:"Save Changes"})]})]})]})})}),S&&t.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center p-4 z-50",children:t.jsx("div",{className:"bg-white rounded-lg max-w-2xl w-full max-h-screen overflow-y-auto",children:t.jsxs("div",{className:"p-6",children:[t.jsxs("div",{className:"flex justify-between items-center mb-4",children:[t.jsxs("h3",{className:"text-lg font-medium text-gray-900",children:["Contact Details: ",S.name]}),t.jsx("button",{onClick:()=>k(null),className:"text-gray-400 hover:text-gray-600",children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Email"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:S.email})]}),S.phone&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Phone"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:S.phone})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Subject"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900",children:S.subject})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Message"}),t.jsx("p",{className:"mt-1 text-sm text-gray-900 whitespace-pre-wrap",children:S.message})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Status"}),t.jsxs("select",{value:q||S.status,onChange:j=>J(j.target.value),className:"mt-1 block w-full border-gray-300 rounded-md shadow-sm focus:ring-primary-500 focus:border-primary-500",children:[t.jsx("option",{value:"new",children:"New"}),t.jsx("option",{value:"read",children:"Read"}),t.jsx("option",{value:"replied",children:"Replied"}),t.jsx("option",{value:"closed",children:"Closed"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm font-medium text-gray-700",children:"Admin Response"}),t.jsx("textarea",{value:fe,onChange:j=>se(j.target.value),rows:3,className:"mt-1 block w-full border-gray-300 rounded-md shadow-sm focus:ring-primary-500 focus:border-primary-500",placeholder:"Add admin response..."})]}),t.jsxs("div",{className:"flex justify-end space-x-3 pt-4",children:[t.jsx("button",{onClick:()=>k(null),className:"px-4 py-2 text-sm font-medium text-gray-700 bg-gray-100 border border-gray-300 rounded-md hover:bg-gray-200",children:"Cancel"}),t.jsx("button",{onClick:()=>xi(S.id,q||S.status,fe),className:"px-4 py-2 text-sm font-medium text-white bg-primary-600 border border-transparent roun
824ded-md hover:bg-primary-700",children:"Save Changes"})]})]})]})})})]}):null}function kx({titleKey:e,titleFallback:n,crumbs:a,children:i}){const{t:r}=V(),s=e?r(e,n):n;return t.jsxs("div",{className:"min-h-screen bg-white",children:[t.jsx(re,{title:s}),t.jsxs("div",{className:"mx-auto max-w-5xl px-4 md:px-6 py-8",children:[t.jsx("nav",{className:"mb-8","aria-label":"Breadcrumb",children:t.jsxs("ol",{className:"flex items-center space-x-2 text-sm text-slate-600",children:[a.map((o,c)=>t.jsxs("li",{className:"flex items-center",children:[c>0&&t.jsx("svg",{className:"w-4 h-4 mx-2 text-slate-400",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})}),t.jsx($,{to:o.to,className:"hover:text-programs-600 transition-colors duration-200",children:r(o.labelKey)})]},c)),t.jsxs("li",{className:"flex items-center",children:[t.jsx("svg",{className:"w-4 h-4 mx-2 text-slate-400",fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})}),t.jsx("span",{className:"text-slate-900 font-medium",children:s})]})]})}),t.jsx("div",{className:"prose prose-slate max-w-none",children:t.jsx("div",{className:"overflow-x-auto",children:i})})]})]})}function Yd(e,n,a){var i;if(a==="en")return e;try{const s=new DOMParser().parseFromString(e,"text/html"),o=s.querySelector("table tbody tr:first-child td:nth-child(2)");if(o){const m=((i=o.textContent)==null?void 0:i.trim())||"";if(m){const h=Y(`courses.${n}.title`,m);o.textContent=h}}s.querySelectorAll("p strong").forEach((m,h)=>{var v;const x=((v=m.textContent)==null?void 0:v.trim())||"";if(x.toLowerCase().includes("course description")||x.toLowerCase().includes("ourse description")){const C=Y(`courses.${n}.sections.description.heading`,"Course Description");m.textContent=C}else if(x.toLowerCase().includes("course objective")||x.toLowerCase().includes("ourse objective")){const C=Y(`courses.${n}.sections.objectives.heading`,"Course Objective");m.textContent=C}});const l=s.querySelectorAll("p");let d=0,p=0;return l.forEach(m=>{var x,v;const h=((x=m.textContent)==null?void 0:x.trim())||"";if(h&&!h.includes("<")&&h.length>20){const C=m.previousElementSibling,f=((v=C==null?void 0:C.textContent)==null?void 0:v.toLowerCase())||"";if(f.includes("course description")||f.includes("ourse description")){const b=Y(`courses.${n}.sections.description.body.${d}`,h);m.textContent=b,d++}else if(f.includes("course objective")||f.includes("ourse objective")){const b=Y(`courses.${n}.sections.objectives.body.${p}`,h);m.textContent=b,p++}}}),s.querySelectorAll("th").forEach(m=>{var x;switch((((x=m.textContent)==null?void 0:x.trim())||"").toLowerCase()){case"course id":m.textContent=Y(`courses.${n}.table.courseId`,"Course ID");break;case"course name":m.textContent=Y(`courses.${n}.table.courseName`,"Course Name");break;case"time":m.textContent=Y(`courses.${n}.table.time`,"Time");break;case"hrs/pwk":m.textContent=Y(`courses.${n}.table.hrsPerWeek`,"Hrs/Pwk");break;case"weeks":m.textContent=Y(`courses.${n}.table.weeks`,"Weeks");break;case"total hours":m.textContent=Y(`courses.${n}.table.totalHours`,"Total Hours");break;case"credit":m.textContent=Y(`courses.${n}.table.credit`,"Credit");break}}),s.documentElement.outerHTML}catch(r){return console.warn(`[courseTranslation] Failed to translate course content for ${n}:`,r),e}}const Fs=new Map;function Mx(){const{slug:e=""}=fp(),{i18n:n,t:a}=V(),i=(n.language||"en").split("-")[0],[r,s]=w.useState({tried:[]}),o=w.useRef(null),c="/".replace(/\/+$/,"/"),l=w.useMemo(()=>{const d=[`${c}courses/${e}.${i}.html`,`${c}courses/${e}.html`];return Array.from(new Set(d))},[e,i,c]);return w.useEffect(()=>{var m;const d=`${e}|${i}`,p=Fs.get(d);if(p){s({html:p,tried:[`cache:${d}`]});return}(m=o.current)==null||m.abort();const u=new AbortController;return o.current=u,(async()=>{const h=[];let x;for(const v of l)try{const C=await fetch(v,{cache:"no-cache",signal:u.signal});if(!C.ok){h.push(`${v} (${C.status})`);continue}const f=await C.text(),b=f.includes('<div id="root">')||f.includes('<script type="module" src="/src/main.tsx');if(f.replace(/<[^>]+>/g,"").trim().length>0&&!b){x=f,Fs.set(d,f),h.push(`${v} (ok)`);break}else h.push(`${v} (empty)`)}catch{u.signal.aborted||h.push(`${v} (error)`)}if(!u.signal.aborted)if(x){const v=Yd(x,e,i);s({html:v,tried:h})}else{const v=`${c}courses/${e}.html`;try{const C=await fetch(v,{cache:"no-cache",signal:u.signal});if(C.ok){const f=await C.text(),b=f.includes('<div id="root">')||f.includes('<script type="module" src="/src/main.tsx');if(f.replace(/<[^>]+>/g,"").trim()&&!b){const y=Yd(f,e,i);Fs.set(`${e}|en`,y),s({html:y,tried:[...h,`${v} (final-fallback)`]});return}}}catch{}s({tried:h,error:a("common.courses.notFoundBody","We could not load the course description.")})}})(),()=>u.abort()}
824,[l,e,i,a,c]),t.jsxs(kx,{titleKey:`common.courses.titles.${e}`,titleFallback:e,crumbs:[{labelKey:"nav.home",to:"/"},{labelKey:"nav.programs",to:"/programs"}],children:[!r.html&&!r.error&&t.jsx("div",{className:"text-sm text-slate-500",children:a("common.loading","Loading…")}),r.error&&t.jsxs("div",{className:"space-y-2",children:[t.jsx("p",{className:"text-red-600",children:r.error}),t.jsxs("p",{className:"text-xs text-slate-500",children:[a("common.courses.tried","Tried:")," ",r.tried.join(", ")]}),t.jsx($,{className:"text-sky-700 underline",to:"/programs",children:a("common.courses.backToPrograms","Back to Programs")})]}),r.html&&t.jsx("article",{className:"prose prose-slate max-w-none overflow-x-auto",dangerouslySetInnerHTML:{__html:r.html}})]})}const Ax=()=>{const{t:e}=V();return ie(),t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"President's Message - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Welcome message from Dr. Frank H. Du, President of Calgary College of Traditional Chinese Medicine and Acupuncture"})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("page125.presidents332.hero.title"),subtitle:e("page125.presidents332.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsx("div",{className:"max-w-screen-xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12",children:[t.jsxs("div",{className:"flex flex-col md:flex-row md:items-start mb-0",children:[t.jsx("div",{className:"w-80 h-80 mb-8 md:mb-0 md:mr-12",children:t.jsx(ze,{contentKey:"presidents_message_image",src:"/images/Dr.Frank Du.png",alt:"Dr. Frank H. Du - President",className:"w-full h-full object-cover rounded-full border-6 border-primary-200 shadow-2xl"})}),t.jsxs("div",{className:"text-center md:text-left flex-1 md:ml-6 md:mt-8",children:[t.jsx(g,{contentKey:"presidents.info.name",translationKey:"page125.presidents332.info.name",className:"text-5xl md:text-6xl font-bold text-gray-900 mb-4",children:e("page125.presidents332.info.name")}),t.jsx(g,{contentKey:"presidents.info.title",translationKey:"page125.presidents332.info.title",className:"text-2xl md:text-3xl text-primary-600 mb-3",children:e("page125.presidents332.info.title")}),t.jsx(g,{contentKey:"presidents.info.credentials",translationKey:"page125.presidents332.info.credentials",className:"text-lg md:text-xl text-gray-600",children:e("page125.presidents332.info.credentials")})]})]}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsx("div",{className:"bg-primary-50 border-l-4 border-primary-500 p-6 mb-8",children:t.jsx(g,{contentKey:"presidents.quote",translationKey:"page125.presidents332.quote",className:"text-lg leading-relaxed text-gray-800 italic",multiline:!0,children:e("page125.presidents332.quote")})}),t.jsxs("div",{className:"space-y-6 text-gray-700 leading-relaxed",children:[t.jsx(g,{contentKey:"presidents.message.paragraph1",translationKey:"page125.presidents332.message.paragraph1",className:"mb-6",multiline:!0,children:e("page125.presidents332.message.paragraph1")}),t.jsx(g,{contentKey:"presidents.message.paragraph2",translationKey:"page125.presidents332.message.paragraph2",className:"mb-6",multiline:!0,children:e("page125.presidents332.message.paragraph2")}),t.jsx(g,{contentKey:"presidents.message.paragraph3",translationKey:"page125.presidents332.message.paragraph3",className:"mb-6",multiline:!0,children:e("page125.presidents332.message.paragraph3")}),t.jsx(g,{contentKey:"presidents.message.closing",translationKey:"page125.presidents332.message.closing",className:"font-semibold",children:e("page125.presidents332.message.closing")})]}),t.jsxs("div",{className:"mt-8 pt-6 border-t border-gray-200",children:[t.jsx(g,{contentKey:"presidents.signature.name",translationKey:"page125.presidents332.signature.name",className:"text-lg font-semibold text-gray-900",children:e("page125.presidents332.signature.name")}),t.jsx(g,{contentKey:"presidents.signature.title",translationKey:"page125.presidents332.signature.title",className:"text-primary-600",children:e("page125.presidents332.signature.title")}),t.jsx(g,{contentKey:"presidents.signature.institution",translationKey:"page125.presidents332.signature.institution",className:"text-gray-600",children:e("page125.presidents332.signature.institution")})]})]})]})})})]})]})}
824,Px=["frank-du","luyang-liu","andrea-hejtmanek","hung-tran","jess-reynolds","zhichun-zhang","olivier-barre","jiawen-cui","kevin-clement","murad-ehsan","lorena-bulcao","maryna-evans","guichao-wu","yanling-zhao","kai-cheng"],_x=new Set(["marc-raedschelders","erin-taylor","allison-trent","serena-wu"]),Qd={id:"yanling-zhao",name:"Dr. Yanling Zhao",title:"Faculty Member",image:"/images/faculty/Dr.Yanling-Zhao.jpg",hasImage:!0,credentials:"Doctor of Acupuncture, RMT",specialties:["Massage Therapy","Acupuncture","Sports Medicine","Rehabilitation"],description:"<p>Dr. Yanling Zhao is a Registered Massage Therapist and Doctor of Acupuncture with more than 15 years of clinical experience in massage therapy and acupuncture. She brings a strong interdisciplinary perspective to patient care, education, and rehabilitation.</p><p>As an educator, Dr. Zhao taught sports medicine at Beijing University of Chinese Medicine for six years. After relocating to Canada, she continued her teaching career in massage therapy at the Calgary College of Traditional Chinese Medicine and Acupuncture.</p><p>She earned her Massage Therapy Diploma from Mount Royal University in 2012. Throughout her career, Dr. Zhao has developed expertise in assessing and treating sports injuries, musculoskeletal conditions, and rehabilitation needs, using an integrated approach tailored to each client.</p><p>Dr. Zhao is committed to helping students develop strong clinical skills, sound critical thinking, and professional confidence. She draws on her practical knowledge and real-world experience to prepare future massage therapists for successful and rewarding careers.</p><p>She views teaching as an opportunity to inspire the next generation of healthcare professionals through mentorship, hands-on learning, and a commitment to lifelong education.</p>"},Ex=({member:e,facultyMembers:n,saveFacultyMembers:a,translatedDescription:i=""})=>{const[r,s]=w.useState(!1),{isEditMode:o}=rt(),c=!o&&i?i:e.description,l=c.length>150,d=l&&!o;return t.jsx("div",{className:"flex-1 flex flex-col",children:o?t.jsx("div",{className:"flex-1",children:t.jsx(rr,{facultyId:e.id,field:"description",className:"text-gray-700 text-sm leading-relaxed text-left block w-full",defaultValue:e.description,translatedValue:i,multiline:!0,onUpdate:p=>{const u=n.map(m=>m.id===e.id?{...m,description:p}:m);a(u)},children:e.description})}):t.jsxs("div",{className:"flex-1 flex flex-col",children:[t.jsx("div",{className:`text-gray-700 text-sm leading-7 text-left prose prose-sm max-w-none [&_p]:mb-4 [&_p]:leading-7 [&_ul]:mb-4 [&_li]:mb-2 [&_a]:text-sky-600 [&_a]:underline hover:[&_a]:text-sky-700 [&_a]:transition-colors ${!r&&l?"line-clamp-3":""}`,children:t.jsx("div",{dangerouslySetInnerHTML:{__html:c}})}),d&&t.jsx("div",{className:"mt-auto pt-4",children:t.jsx("button",{onClick:p=>{p.stopPropagation(),s(!r)},className:"text-primary-500 text-sm font-medium hover:text-primary-600 transition-colors",children:r?"Show Less ↑":"Read More →"})})]})})},rr=({facultyId:e,field:n,className:a="",defaultValue:i="",multiline:r=!1,children:s,onUpdate:o,translatedValue:c=""})=>{const{isEditMode:l}=rt(),[d,p]=w.useState(!1),[u,m]=w.useState(""),[h,x]=w.useState(!1),v=w.useRef(null);w.useEffect(()=>{d&&v.current&&(v.current.focus(),v.current.select())},[d]);const C=()=>{l&&!d&&(p(!0),m(i))},f=()=>{u.trim()!==i&&o(u.trim()),p(!1)},b=()=>{m(i),p(!1)},y=S=>{S.key==="Enter"&&!r?(S.preventDefault(),f()):S.key==="Escape"?b():S.key==="Enter"&&S.ctrlKey&&r&&(S.preventDefault(),f())};if(d){const S=r?"textarea":"input";return t.jsxs("div",{className:"relative",children:[t.jsx(S,{ref:v,value:u,onChange:k=>m(k.target.value),onKeyDown:y,className:`${a} border-2 border-primary-500 bg-white text-gray-900 rounded px-2 py-1 w-full focus:outline-none focus:border-primary-600 shadow-lg`,rows:r?6:void 0,style:{color:"#1f2937",minHeight:r?"150px":"auto"}}),t.jsxs("div",{className:"absolute -top-10 right-0 bg-white border border-gray-200 rounded-lg shadow-xl flex items-center space-x-1 px-3 py-2 z-10",children:[t.jsx("span",{className:"text-xs text-gray-600",children:"Editing"}),t.jsxs("button",{onClick:f,className:"ml-2 px-3 py-1 bg-cyan-100 hover:bg-cyan-200 text-cyan-700 rounded-full text-xs font-medium flex items-center",title:"Save (Ctrl+Enter)",children:[t.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}),"Save"]}),t.jsxs("button",{onClick:b,className:"px-3 py-1 bg-red-100 hover:bg-red-200 text-red-700 rounded-full text-xs font-medium flex items-center",title:"Cancel (Esc)",children:[t.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),"Cancel"]})]})]})}const N=!l&&c?c:s||i;return t.jsx("div",{onClick:C,onMouseEnter:()=>x(!0),onMouseLeave:()=>
824x(!1),className:`${l?"cursor-pointer hover:bg-primary-50 hover:bg-opacity-50 hover:border hover:border-primary-300 rounded p-1 transition-all":""} ${a} ${l&&h?"bg-primary-50 bg-opacity-30":""}`,title:l?"Click to edit":"",dangerouslySetInnerHTML:!l&&c&&n==="description"?{__html:c}:void 0,children:!(!l&&c&&n==="description")&&N})},Lx=()=>{const{t:e}=V();ie();const{isEditMode:n}=rt(),[a,i]=w.useState([]),r={"frank-du":"frankDu","luyang-liu":"luyangLiu","andrea-hejtmanek":"andreaHejtmanek","hung-tran":"hungTran","zhichun-zhang":"zhichunZhang","olivier-barre":"olivierBarre","jiawen-cui":"jiawenCui","kevin-clement":"kevinClement","murad-ehsan":"muradEhsan","lorena-bulcao":"lorenaBulcao","maryna-evans":"marynaEvans","guichao-wu":"guichaoWu","yanling-zhao":"yanlingZhao","jess-reynolds":"jessReynolds","kai-cheng":"kaiCheng"},s=(u,m)=>{const h=r[u];return h?e(`page127.faculty332.faculty.${h}.${m}`):""};w.useEffect(()=>{console.log("📚 our-faculty.tsx: Loading faculty data...");const u=localStorage.getItem("cctcma_faculty_members");if(console.log("🔍 our-faculty.tsx: Found stored faculty data:",!!u),u)try{const m=JSON.parse(u);console.log("✅ our-faculty.tsx: Successfully parsed faculty data:",m.length,"members"),console.log("📋 our-faculty.tsx: Faculty member IDs:",m.map(S=>S.id));let h=!1;const x=m.map(S=>S.id==="kai-cheng"&&S.image==="/images/faculty/Prof-KaiCheng.png"?(h=!0,{...S,image:"/images/faculty/Prof-KaiCheng.jpg"}):S.id==="andrea-hejtmanek"&&(S.image==="/images/faculty/BgSub_andrea.png"||S.image==="/images/faculty/BgSub_andrea.jpg")?(h=!0,{...S,image:"/images/faculty/Dr.Andrea Hejtmanek.png"}):S),v=x.some(S=>S.id==="lorena-bulcao"),C=x.some(S=>S.id==="maryna-evans");let f=x;if(!v||!C){const S=[{id:"lorena-bulcao",name:"Dr. Lorena Bulcao",title:"Faculty Member",image:"/images/faculty/Dr.Lorena.png",hasImage:!0,credentials:"Doctor of Acupuncture, RMT",specialties:["Massage Therapy","Traditional Chinese Medicine","Holistic Wellness"],description:"<p>Dr. Lorena Bulcao is a Registered Massage Therapist (RMT) and Doctor of Acupuncture with over 25 years of experience in therapeutic bodywork and holistic wellness. She is known for her calm, client-centered approach and her ability to create personalized treatments that support relaxation, pain relief, and overall well-being.</p><p>Her massage therapy background includes relaxation, deep tissue, Swedish, myofascial release, trigger point therapy, lymphatic drainage. Lorena holds a Doctor of Acupuncture diploma and has extensive training in anatomy, physiology, and pathology through nursing studies. She has also studied yoga therapy in India and explored complementary healing modalities such as Reiki and Thai massage, which further inform her integrative and holistic approach to care.</p><p>Currently, Lorena practices at a multidisciplinary clinic and teaches part-time at the Calgary College of Traditional Chinese Medicine and Acupuncture, where she mentors future massage therapists and acupuncturists. She also maintains a small home-based practice for long-standing clients. Lorena is passionate about helping people feel balanced, relaxed, and supported in their healing and wellness journey.</p>"},{id:"maryna-evans",name:"Dr. Maryna Evans",title:"Faculty Member",image:"/images/faculty/Dr.Maryna.jpg",hasImage:!0,credentials:"Doctor of Acupuncture",specialties:["Sports Medicine","Clinical Acupuncture","Herbology"],description:"<p>Dr. Maryna Evans is a Doctor of Acupuncture with over 17 years of experience in sports medicine and more than a decade in clinical acupuncture practice. Her work bridges the gap between traditional Chinese medicine and modern sports and musculoskeletal care.</p><p><strong>Advanced Training. Real-World Results.</strong></p><p>Dr. Evans has completed extensive advanced training in acupuncture and sports medicine, including specialized one-on-one training with Whitfield Reaves, a nationally recognized leader in sports medicine acupuncture. She has also trained internationally in China and gained field experience in Myanmar with Doctors Without Borders, bringing a rare depth of clinical perspective to her practice.</p><p><strong>What Patients and Students Can Expect</strong></p><p>Dr. Evans is known for her precise assessments, individualized treatment plans, and results-driven care. Her treatments may include:</p><ul><li>Acupuncture and electroacupuncture</li><li>Sports medicine-focused treatments for injury, pain, and recovery</li><li>Herbology and plant-based medicine</li><li>Integrated care plans that complement modern medical treatment</li></ul><p>She has successfully treated high-performance and endurance athletes, including competitors in multiple Ironman races in Penticton, and has helped hundreds of patients improve mobility, recover from injury, and return to activity with confidence.</p><p><strong>
824Community-Focused, Patient-Centered</strong></p><p>Beyond the clinic, Dr. Evans is deeply involved in the community, including volunteer work supporting Ukrainian refugees in Canada and on-site support for athletes at Ironman events.</p>"}],k=x.findIndex(T=>T.id==="guichao-wu");k>=0&&(f=[...x.slice(0,k),...S,...x.slice(k)],h=!0,console.log("🔄 our-faculty.tsx: Inserted Dr. Lorena Bulcao and Dr. Maryna Evans"))}f.some(S=>S.id==="yanling-zhao")||(f=[...f,{...Qd}],h=!0,console.log("🔄 our-faculty.tsx: Inserted Dr. Yanling Zhao"));const y=f.filter(S=>!_x.has(S.id)),N=new Map(Px.map((S,k)=>[S,k]));f=y.map((S,k)=>({member:S,originalIndex:k})).sort((S,k)=>{const T=N.get(S.member.id),I=N.get(k.member.id);return T!==void 0&&I!==void 0?T-I:T!==void 0?-1:I!==void 0?1:S.originalIndex-k.originalIndex}).map(({member:S})=>S),(f.length!==m.length||f.some((S,k)=>{var T;return S.id!==((T=m[k])==null?void 0:T.id)}))&&(h=!0),h?(console.log("🔄 our-faculty.tsx: Migrating stored faculty data"),i(f),localStorage.setItem("cctcma_faculty_members",JSON.stringify(f))):i(f)}catch(m){console.error("❌ our-faculty.tsx: Error parsing faculty data:",m),console.log("🔧 our-faculty.tsx: Falling back to default faculty"),o()}else console.log("📝 our-faculty.tsx: No stored faculty data, initializing defaults"),o()},[]);const o=()=>{const u=[{id:"frank-du",name:"Dr. Frank Du",title:"President and Founder",image:"/images/faculty/Dr.Frank Du.png",hasImage:!0,credentials:"Doctor of Acupuncture",specialties:["Traditional Chinese Medicine","Acupuncture","Chinese Herbal Medicine"],description:"Dr. Frank Du is the President and Founder of Calgary College of Traditional Chinese Medicine and Acupuncture (CCTCMA). He has dedicated his career to advancing Traditional Chinese Medicine education in North America and building bridges between Eastern and Western medical practices. With over thirty years of experience in teaching and clinical practice of TCM and acupuncture in Canada, Australia, and China, Dr. Du has become a respected authority in the field."},{id:"luyang-liu",name:"Dr. Luyang (Martin) Liu",title:"Dean and Faculty Member",image:"/images/faculty/Dr.Martin.png",hasImage:!0,credentials:"Doctor of Acupuncture, RMT, and PhD in Acupuncture",specialties:["Traditional Chinese Medicine","Acupuncture","Clinical Practice"],description:"Dr. Luyang (Martin) Liu is a dedicated faculty member at CCTCMA with extensive experience in Traditional Chinese Medicine and clinical practice. He brings comprehensive knowledge of TCM theory and practical application to his teaching."},{id:"andrea-hejtmanek",name:"Dr. Andrea Hejtmanek",title:"Senior Faculty Member",image:"/images/faculty/Dr.Andrea Hejtmanek.png",hasImage:!0,credentials:"Doctor of Acupuncture, RMT",specialties:["Anti-Aging Medicine","Facial Rejuvenation","Cosmetic Acupuncture"],description:"Dr. Andrea Hejtmanek is a distinguished senior faculty member at CCTCMA with specialized expertise in anti-aging medicine and facial rejuvenation using Traditional Chinese Medicine techniques. She combines traditional approaches with modern cosmetic applications to provide comprehensive aesthetic treatments."},{id:"hung-tran",name:"Dr. Hung Tran",title:"Senior Faculty Member",image:"/images/faculty/Dr.HungTran.png",hasImage:!0,credentials:"Doctor of Acupuncture, PhD in Anatomy, MD (Vietnam), MBA",specialties:["Pain Management","Musculoskeletal Conditions","Sports Medicine"],description:"Dr. Hung Tran is an experienced adjunct instructor at CCTCMA who specializes in pain management using traditional acupuncture techniques. His expertise in musculoskeletal conditions and sports medicine makes him valuable in treating athletic injuries."},{id:"jess-reynolds",name:"Dr. Jess Reynolds",title:"Faculty Member",image:"/images/faculty/Dr.Jess.png",hasImage:!0,credentials:"Doctor of Acupuncture, RMT",specialties:["Clinical Practice","TCM Diagnosis","General Medicine"],description:"Dr. Jess Reynolds is a skilled faculty member at CCTCMA with broad clinical experience in Traditional Chinese Medicine and particular expertise in diagnostic methods. Her comprehensive approach to TCM diagnosis makes her an invaluable educator for clinical skills development."},{id:"zhichun-zhang",name:"Dr. Zhichun Zhang",title:"Faculty Member",image:"/images/faculty/Dr. Zhichun Zhang.png",hasImage:!0,credentials:"Doctor of Acupuncture, RMT",specialties:["TCM Orthopedics","Musculoskeletal Conditions","Tuina Massage"],description:"Dr. Zhichun Zhang is a graduate of Calgary College of Traditional Chinese Medicine and Acupuncture (Class of 2018) who has been practicing TCM and acupuncture as a registered acupuncturist in Alberta since graduation. He specializes in TCM orthopedics and musculoskeletal rehabilitation with Tuina massage techniques."},{id:"olivier-barre",name:"Dr. Olivier Barré",title:"Faculty Member",image:"/images/faculty/Dr. Olivier.png",hasImage:!0,credentials:"Doctor of Acupuncture, PhD in Biochemistry/Biomedicine",specialties:["Traditional Chinese Medicine","Acupu
824ncture","Integrative Medicine"],description:"Dr. Olivier Barré is a distinguished faculty member at CCTCMA with extensive international experience in Traditional Chinese Medicine and integrative healthcare approaches. His multicultural perspective brings valuable insights to TCM education and practice."},{id:"jiawen-cui",name:"Dr. Jiawen Cui",title:"Faculty Member",image:"/images/faculty/Dr. Cathy.png",hasImage:!0,credentials:"Doctor of Acupuncture, RMT, PhD in Integrated Medicine",specialties:["Dermatology","Cosmetic Acupuncture","Skin Health"],description:"Dr. Jiawen Cui is a skilled faculty member at CCTCMA with specialized expertise in TCM dermatology and cosmetic acupuncture. She focuses on natural approaches to skin health and beauty using traditional Chinese medicine principles."},{id:"kevin-clement",name:"Mr. Kevin Clement",title:"Faculty Member",image:"/images/faculty/Kevin.jpeg",hasImage:!0,credentials:"RMT",specialties:["Massage Therapy","Anatomy & Physiology","Clinical Skills"],description:"Kevin Clement is an experienced Registered Massage Therapist and instructor who brings practical clinical expertise to the CCTCMA massage therapy program. He specializes in therapeutic massage and anatomical education, providing hands-on training for students."},{id:"murad-ehsan",name:"Dr. M. Murad Ehsan",title:"Faculty Member",image:"/images/faculty/Dr. Murad.jpg",hasImage:!0,credentials:"MD, MPhil, RMT",specialties:["Traditional Chinese Medicine","Internal Medicine","Herbal Medicine"],description:"Dr. M. Murad Ehsan is a dedicated healthcare professional with a robust background in both clinical practice and academic instruction across multiple countries. Earning an MD from Sindh Medical College, Pakistan in 2001, Dr. Ehsan began his career as a Lecturer in Basic Health Sciences at Hamdard University, Pakistan in 2003, while simultaneously serving as a Family Physician at Shamim Clinic. In 2006, he relocated to the Middle East, where he worked as a Surgical Resident at Aflaj General Tertiary Hospital for two years, refining his clinical expertise in a tertiary care setting. Returning to Pakistan in 2008, Dr. Ehsan resumed his academic pursuits as a Lecturer in Basic Health Sciences at Altamash Institute of Dental Medicine and as an Emergency Resident at South City Hospital. In 2010, he transitioned to Ziauddin University, continuing to impart knowledge in Basic Health Sciences. His commitment to academic excellence culminated in the completion of a Master's degree in Pharmacology from Ziauddin University in 2013. In pursuit of broader horizons, Dr. Ehsan moved to Canada in 2013. By 2016, he joined Columbia College Calgary as an Instructor in Basic Health Sciences, contributing to the next generation of healthcare professionals. Expanding his clinical skillset, he earned a Diploma in Massage Therapy from ABM College Calgary in 2020. Dr. Ehsan's career is marked by an unwavering commitment to education, clinical service, and professional development, spanning Pakistan, the Middle East, and Canada. His diverse background and dedication make him a valuable asset to the healthcare and academic communities."},{id:"lorena-bulcao",name:"Dr. Lorena Bulcao",title:"Faculty Member",image:"/images/faculty/Dr.Lorena.png",hasImage:!0,credentials:"Doctor of Acupuncture, RMT",specialties:["Massage Therapy","Traditional Chinese Medicine","Holistic Wellness"],description:"<p>Dr. Lorena Bulcao is a Registered Massage Therapist (RMT) and Doctor of Acupuncture with over 25 years of experience in therapeutic bodywork and holistic wellness. She is known for her calm, client-centered approach and her ability to create personalized treatments that support relaxation, pain relief, and overall well-being.</p><p>Her massage therapy background includes relaxation, deep tissue, Swedish, myofascial release, trigger point therapy, lymphatic drainage. Lorena holds a Doctor of Acupuncture diploma and has extensive training in anatomy, physiology, and pathology through nursing studies. She has also studied yoga therapy in India and explored complementary healing modalities such as Reiki and Thai massage, which further inform her integrative and holistic approach to care.</p><p>Currently, Lorena practices at a multidisciplinary clinic and teaches part-time at the Calgary College of Traditional Chinese Medicine and Acupuncture, where she mentors future massage therapists and acupuncturists. She also maintains a small home-based practice for long-standing clients. Lorena is passionate about helping people feel balanced, relaxed, and supported in their healing and wellness journey.</p>"},{id:"maryna-evans",name:"Dr. Maryna Evans",title:"Faculty Member",image:"/images/faculty/Dr.Maryna.jpg",hasImage:!0,credentials:"Doctor of Acupuncture",specialties:["Sports Medicine","Clinical Acupuncture","Herbology"],description:"<p>Dr. Maryna Evans is a Doctor of Acupuncture with over 17 years of experience in sports medicine and more than a decade in clinical acupuncture practice. Her work bridges the gap between traditional Chinese medicine and modern sports and musculoskeletal care.</p><p><strong>Advanced Training. Real-World Results.</strong></p><p>Dr. Evans has completed extensive advanced training in acupuncture and sports medicine, including specialized one-on-one training with Whitfield Reaves, a nationally recognized leader in sports medicine acupuncture. She has also trained internationally in China and gained field experience in Myanmar with Doctors Without Borders, bringing a rare depth of clinical perspective to her practice.</p><p><strong>What Patients and Students Can Expect</strong></p><p>Dr. Evans is known for her precise assessments, individualized treatment plans, and results-driven care. Her treatments may include:</p><ul><li>Acupuncture and electroacupuncture</li><li>Sports medicine-focused treatments for injury, pain, and recovery</li><li>Herbology and plant-based medicine</li><li>Integrated care plans that complement modern medical treatment</li></ul><p>She has successfully treated high-performance and endurance athletes, including competitors in multiple Ironman races in Penticton, and has helped hundreds of patients improve mobility, recover from injury, and return to activity with confidence.</p><p><strong>
824Community-Focused, Patient-Centered</strong></p><p>Beyond the clinic, Dr. Evans is deeply involved in the community, including volunteer work supporting Ukrainian refugees in Canada and on-site support for athletes at Ironman events.</p>"},{id:"guichao-wu",name:"Dr. Guichao Wu",title:"Faculty Member",image:"/images/faculty/Dr.Wu.png",hasImage:!0,credentials:"Doctor of Acupuncture, RMT",specialties:["Internal Medicine","Cardiovascular Health","Diagnostic Methods"],description:`<p>Dr. Gui Chao Wu completed his Bachelor of Medicine specializing in Traditional Chinese Medicine (TCM) and Acupuncture from the Beijing University of Chinese Medicine in 1998. Dr. Wu has since devoted himself to his career in patient care utilizing Chinese Medicine and has over 20 years of experience in the practice of TCM.</p><p>He specializes in treating a variety of medically acute and chronic conditions using a combination of TCM acupuncture, Chinese herbal medicine, cupping, Tuina, and other methods. Acupuncture involves the virtually painless insertion of very fine needles into the body at specific points called acupoints. Each point has a very particular function and plays a key role in every individualized treatment. Dr. Wu's expertise in selecting the acupoints is what makes the treatment work effectively. These treatments can decrease inflammation, balance hormones, improve blood circulation, boost digestion, regulate moods, and strengthen the immune system.</p><p>Dr. Wu has great experience in treating and managing the following conditions with great success:</p><ul><li>Fatigue, brain fog, menopausal syndrome, PMS and dysmenorrhea</li><li>Acute/chronic pain including headaches, migraines, muscle/joint pain, frozen shoulder, neck and back pain, sciatic pain, arthritis, neuralgia, sciatica, bursitis and tendonitis</li><li>Psycho-emotional disorders such as stress, anxiety, depression and insomnia</li><li>Digestive disorders including indigestion, IBS, diarrhea and constipation</li><li>Hay fever, sinus infection, eczema, shingles, Bell's Palsy, morning sickness and weight management</li><li>Other conditions</li></ul><p>Dr. Wu is committed to offering his knowledge, experience and passion for treating your health conditions, prevent the disease and help achieve your optimal health! Dr. Gui Chao Wu is currently accepting new patients. To book an appointment, please call 403 237 2353.</p><p>Dr. Gui Chao Wu is also the Mentor and Founder of the <a href="https://www.acupunctureinternship.ca/" target="_blank" rel="noopener noreferrer">Student Internship Program.</a></p>`},{...Qd},{id:"kai-cheng",name:"Prof. Kai Cheng",title:"Visiting Professor of CCTCMA, Professor of BUCM",image:"/images/faculty/Prof-KaiCheng.jpg",hasImage:!0,credentials:"Ph.D, Professor at Beijing University of Chinese Medicine",specialties:["Advanced TCM Theory","Auricular Diagnosis","Clinical Research"],description:"Professor Cheng Kai is a distinguished visiting professor at CCTCMA who holds a Ph.D in Chinese Medicine and serves as a Professor at Beijing University of Chinese Medicine. He brings cutting-edge research and advanced theoretical knowledge to our institution, specializing in auricular diagnosis and clinical research methodologies."}];i(u),localStorage.setItem("cctcma_faculty_members",JSON.stringify(u))},c=u=>{i(u),localStorage.setItem("cctcma_faculty_members",JSON.stringify(u))},l=()=>{const m={id:`faculty-${Date.now()}`,name:"New Faculty Member",title:"Faculty Member",credentials:"DTCM, R.Ac.",description:"Click to edit description",image:null,hasImage:!1,specialties:["Traditional Chinese Medicine"]},h=[...a,m];c(h)},d=u=>{if(confirm("Are you sure you want to delete this faculty member?")){const m=a.filter(h=>h.id!==u);c(m)}},p=()=>{confirm("This will clear all cached faculty data and reload from defaults. Continue?")&&(localStorage.removeItem("cctcma_faculty_members"),window.location.reload())};return t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"Our Faculty - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Meet our distinguished faculty at Calgary College of Traditional Chinese Medicine and Acupuncture. Expert educators with decades of experience in TCM and acupuncture."})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("page127.faculty332.hero.title"),subtitle:e("page127.faculty332.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsx("div",{className:"max-w-screen-xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12 mb-12",children:[t.jsx(g,{contentKey:"faculty.mission.title",translationKey:"page127.faculty332.mission.title",className:"text-3xl font-bold text-center text-gray-900 mb-8",children:e("page127.faculty332.mission.title")}),t.jsx("div",{className:"bg-primary-50 border-l-4 border-primary-500 p-6",children:t.jsx(g,{contentKey:"faculty.mission.description",translationKey:"page127.faculty332.mission.description",className:"text-lg leading-relaxed text-gray-800 italic text-center",multiline:!0,children:e("page127.faculty332.mission.description")})})]})})}),n&&t.jsx("section",{className:"py-4",children:t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"text-center space-y-4",children:[t.jsxs("button",{onClick:l,className:"bg-cyan-600 hover:bg-cyan-700 text-white px-6 py-3 rounded-lg font-medium flex items-center mx-auto 
824space-x-2 shadow-lg transition-colors duration-200",children:[t.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6v6m0 0v6m0-6h6m-6 0H6"})}),t.jsx("span",{children:"Add New Faculty Member"})]}),t.jsxs("button",{onClick:p,className:"bg-orange-600 hover:bg-orange-700 text-white px-6 py-3 rounded-lg font-medium flex items-center mx-auto space-x-2 shadow-lg transition-colors duration-200",title:"Clear cached faculty data and reload from defaults",children:[t.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),t.jsx("span",{children:"Clear Faculty Cache"})]})]})})}),t.jsx("section",{className:"py-16",children:t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 items-stretch",children:a.map(u=>t.jsxs("div",{className:"h-full flex flex-col rounded-xl shadow-lg hover:shadow-xl transition-all duration-300 p-6 relative group bg-white overflow-hidden",children:[n&&t.jsx("button",{onClick:m=>{m.stopPropagation(),d(u.id)},className:"absolute top-2 right-2 bg-red-500 hover:bg-red-600 text-white p-2 rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-200 z-10",title:"Delete Faculty Member",children:t.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}),t.jsx("div",{className:"flex justify-center mb-12",children:t.jsx("div",{className:"w-36 h-36 relative flex-shrink-0 aspect-square rounded-full overflow-hidden border-4 border-primary-200 hover:border-primary-400 transition-colors duration-300 bg-white",onWheel:m=>m.preventDefault(),style:{overflow:"hidden"},children:(()=>{u.id==="kai-cheng"&&(console.log("🖼️ Dr. Cheng Debug - Faculty member:",u.id),console.log("🔍 hasImage:",u.hasImage),console.log("🔍 image:",u.image),console.log("🔍 image path:",u.image),console.log("🔍 Condition result:",u.hasImage&&u.image));const m=u.id==="murad-ehsan",h=u.id==="andrea-hejtmanek",x=u.id==="yanling-zhao",v=m?"w-full h-full object-cover object-center scale-110":h||x?"w-full h-full object-cover":"w-full h-full object-cover object-top",C=h?{objectPosition:"100% 50%"}:x?{objectPosition:"50% 35%"}:void 0;return t.jsx(ze,{contentKey:`faculty_member_${u.id}_image`,src:u.image||"",alt:u.name,className:v,containerClassName:"w-full h-full",imgStyle:C})})()})}),t.jsxs("div",{className:"flex-1 flex flex-col",children:[t.jsxs("div",{className:"text-center mb-4",children:[t.jsx(rr,{facultyId:u.id,field:"name",className:"text-xl font-bold text-gray-900 mb-2 block",defaultValue:u.name,translatedValue:s(u.id,"name"),onUpdate:m=>{const h=a.map(x=>x.id===u.id?{...x,name:m}:x);c(h)},children:u.name}),t.jsx(rr,{facultyId:u.id,field:"title",className:"text-primary-600 font-medium mb-2 block",defaultValue:u.title,translatedValue:s(u.id,"title"),onUpdate:m=>{const h=a.map(x=>x.id===u.id?{...x,title:m}:x);c(h)},children:u.title}),t.jsx(rr,{facultyId:u.id,field:"credentials",className:"text-sm text-gray-600 mb-4 block",defaultValue:u.credentials,translatedValue:s(u.id,"credentials"),onUpdate:m=>{const h=a.map(x=>x.id===u.id?{...x,credentials:m}:x);c(h)},children:u.credentials})]}),t.jsx(Ex,{member:u,facultyMembers:a,saveFacultyMembers:c,translatedDescription:s(u.id,"description")})]})]},u.id))})})})]})]})},Dx=({member:e,advisoryMembers:n,saveAdvisoryMembers:a})=>{const{t:i}=V(),[r,s]=w.useState(!1),{isEditMode:o}=rt(),l=((m,h=120)=>{if(m.length<=h)return m;const x=m.lastIndexOf(" ",h),v=x>0?x:h;return m.substring(0,v)})(e.description),d=e.description.length>l.length,p=r?e.description:l,u=d&&!o;return t.jsxs("div",{className:"flex-1",children:[o?t.jsx(sr,{memberId:e.id,field:"description",className:"text-gray-700 leading-relaxed block",defaultValue:e.description,multiline:!0,onUpdate:m=>{const h=n.map(x=>x.id===e.id?{...x,description:m}:x);a(h)},children:e.description}):t.jsx("div",{className:"text-gray-700 leading-relaxed",children:t.jsx("div",{dangerouslySetInnerHTML:{__html:p+(!r&&d?'<span class="text-gray-400">...</span>':"")}})}),u&&t.jsx("div",{className:"text-center mt-4 pt-4 border-t border-gray-100",children:t.jsx("button",{onClick:m=>{m.stopPropagation(),s(!r)},className:"text-primary-500 text-sm font-medium hover:text-primary-600 transition-colors",children:i(r?"page6046.members.ronaldChui.readLess":"page6046.members.ronaldChui.readMore")})})]})},sr=({memberId:e,field:n,className:a="",defaultValue:i="",multiline:r=!1,children:s,onUpdate:o})=>{const{isEditMode:c}=rt(),[l,d]=w.useState(!1),[p,u]=w.useState(""),[m,h]=w.useState(!1),x=w.useRef(null);
824w.useEffect(()=>{l&&x.current&&(x.current.focus(),x.current.select())},[l]);const v=()=>{c&&!l&&(d(!0),u(i))},C=()=>{p.trim()!==i&&o(p.trim()),d(!1)},f=()=>{u(i),d(!1)},b=y=>{y.key==="Enter"&&!r?(y.preventDefault(),C()):y.key==="Escape"?f():y.key==="Enter"&&y.ctrlKey&&r&&(y.preventDefault(),C())};if(l){const y=r?"textarea":"input";return t.jsxs("div",{className:"relative",children:[t.jsx(y,{ref:x,value:p,onChange:N=>u(N.target.value),onKeyDown:b,className:`${a} border-2 border-primary-500 bg-white text-gray-900 rounded px-2 py-1 w-full focus:outline-none focus:border-primary-600 shadow-lg`,rows:r?6:void 0,style:{color:"#1f2937",minHeight:r?"150px":"auto"}}),t.jsxs("div",{className:"absolute -top-10 right-0 bg-white border border-gray-200 rounded-lg shadow-xl flex items-center space-x-1 px-3 py-2 z-10",children:[t.jsx("span",{className:"text-xs text-gray-600",children:"Editing"}),t.jsxs("button",{onClick:C,className:"ml-2 px-3 py-1 bg-cyan-100 hover:bg-cyan-200 text-cyan-700 rounded-full text-xs font-medium flex items-center",title:"Save (Ctrl+Enter)",children:[t.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}),"Save"]}),t.jsxs("button",{onClick:f,className:"px-3 py-1 bg-red-100 hover:bg-red-200 text-red-700 rounded-full text-xs font-medium flex items-center",title:"Cancel (Esc)",children:[t.jsx("svg",{className:"w-3 h-3 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),"Cancel"]})]})]})}return t.jsx("div",{onClick:v,onMouseEnter:()=>h(!0),onMouseLeave:()=>h(!1),className:`${c?"cursor-pointer hover:bg-primary-50 hover:bg-opacity-50 hover:border hover:border-primary-300 rounded p-1 transition-all":""} ${a} ${c&&m?"bg-primary-50 bg-opacity-30":""}`,title:c?"Click to edit":"",children:s||i})},Ix=()=>{const{t:e,i18n:n}=V();ie();const{isEditMode:a}=rt(),[i,r]=w.useState([]);w.useEffect(()=>{const u=localStorage.getItem("cctcma_advisory_members");if(u)try{const h=JSON.parse(u).map(x=>x.id==="marc-raedschelders"?{...x,name:e("page6046.members.marcRaedschelders.name"),title:e("page6046.members.marcRaedschelders.title"),credentials:e("page6046.members.marcRaedschelders.credentials"),description:e("page6046.members.marcRaedschelders.description"),image:"/images/faculty/Dr. Marc.png",hasImage:!0}:x.id==="huiyin-wang"?{...x,name:e("page6046.members.huiyinWang.name"),title:e("page6046.members.huiyinWang.title"),credentials:e("page6046.members.huiyinWang.credentials"),description:e("page6046.members.huiyinWang.description")}:x.id==="ronald-chui"?{...x,name:e("page6046.members.ronaldChui.name"),title:e("page6046.members.ronaldChui.title"),credentials:e("page6046.members.ronaldChui.credentials"),description:e("page6046.members.ronaldChui.description"),bio:e("page6046.members.ronaldChui.bio"),image:"/images/faculty/Ronald-Chui.png",hasImage:!0}:x);r(h),localStorage.setItem("cctcma_advisory_members",JSON.stringify(h))}catch(m){console.error("Error updating advisory members for language change:",m)}},[n.language,e]),w.useEffect(()=>{console.log("📚 advisory-committee.tsx: Loading advisory data...");const u=localStorage.getItem("cctcma_advisory_members");if(console.log("🔍 advisory-committee.tsx: Found stored advisory data:",!!u),u)try{const m=JSON.parse(u);console.log("✅ advisory-committee.tsx: Successfully parsed advisory data:",m.length,"members");let h=!1;const x=m.map(v=>v.id==="marc-raedschelders"?{...v,image:"/images/faculty/Dr. Marc.png",hasImage:!0}:v.id==="ronald-chui"?{...v,image:"/images/faculty/Ronald-Chui.png",hasImage:!0}:v.id==="huiyin-wang"?(h=!0,{...v,image:"/images/faculty/Dr.Huiying Wang.jpg",hasImage:!0}):v);r(x),localStorage.setItem("cctcma_advisory_members",JSON.stringify(x)),h&&console.log("🔄 advisory-committee.tsx: Updated Dr. Wang image path to new .jpg file")}catch(m){console.error("❌ advisory-committee.tsx: Error parsing advisory data:",m),console.log("🔧 advisory-committee.tsx: Falling back to default advisory"),s()}else console.log("📝 advisory-committee.tsx: No stored advisory data, initializing defaults"),s()},[e]);const s=()=>{const u=[{id:"marc-raedschelders",name:e("page6046.members.marcRaedschelders.name"),title:e("page6046.members.marcRaedschelders.title"),image:"/images/faculty/Dr. Marc.png",hasImage:!0,credentials:e("page6046.members.marcRaedschelders.credentials"),description:e("page6046.members.marcRaedschelders.description"),clickable:!1},{id:"huiyin-wang",name:e("page6046.members.huiyinWang.name"),title:e("page6046.members.huiyinWang.title"),image:"/images/faculty/Dr.Huiying Wang.jpg",hasImage:!0,credentials:e("page6046.members.huiyinWang.credentials"),description:e("page6046.members.huiyinWang.description"),clickable:!1},{id:"ronald-chui",name:e("page6046.members.ronaldChui.name"),title:e("page6046.members.ronaldChui.title"),image:"/images/faculty/Ronald-Chui.png",hasImage:!0,credentials:e("page6046.members.ronaldChui.credentials"),description:e("page6046.members.ronaldChui.description"),clickable:!0,bio:e("page6046.members.ronaldChui.bio")}];r(u),localStorage.setItem("cctcma_advisory_members",JSON.stringify(u))},o=u=>{r(u),localStorage.setItem("cctcma_advisory_members",JSON.stringify(u))},c=()=>{localStorage.removeItem("cctcma_advisory_members"),s()},l=()=>{confirm("This will clear all cached advisory data and reload from defaults. Continue?")&&(localStorage.removeItem("cctcma_advisory_members"),window.location.reload())},d=()=>{const m={id:`advisory-${Date.now()}`,name:e("page6046.actions.newMember"),title:e("page6046.actions.defaultTitle"),credentials:e("page6046.actions.defaultCredentials"),description:e("page6046.actions.defaultDescription"),image:null,hasImage:!1,
824clickable:!1},h=[...i,m];o(h)},p=u=>{if(confirm(e("page6046.actions.deleteConfirm"))){const m=i.filter(h=>h.id!==u);o(m)}};return t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"Advisory Committee - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Meet our Advisory Committee members who provide guidance and expertise to CCTCMA"})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("page6046.hero.title"),subtitle:e("page6046.hero.subtitle")}),a&&t.jsx("section",{className:"py-4",children:t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"text-center space-y-4",children:[t.jsxs("button",{onClick:d,className:"bg-cyan-600 hover:bg-cyan-700 text-white px-6 py-3 rounded-lg font-medium flex items-center mx-auto space-x-2 shadow-lg transition-colors duration-200",children:[t.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6v6m0 0v6m0-6h6m-6 0H6"})}),t.jsx("span",{children:e("page6046.actions.addMember")})]}),t.jsxs("button",{onClick:c,className:"bg-orange-600 hover:bg-orange-700 text-white px-6 py-3 rounded-lg font-medium flex items-center mx-auto space-x-2 shadow-lg transition-colors duration-200",title:"Force refresh advisory members data (clears localStorage cache)",children:[t.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),t.jsx("span",{children:"Refresh Data"})]}),t.jsxs("button",{onClick:l,className:"bg-yellow-600 hover:bg-yellow-700 text-white px-6 py-3 rounded-lg font-medium flex items-center mx-auto space-x-2 shadow-lg transition-colors duration-200",title:"Clear localStorage cache and reload from defaults",children:[t.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),t.jsx("span",{children:"Clear Cache & Reload"})]})]})})}),t.jsx("section",{className:"py-16",children:t.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsx("div",{className:"grid md:grid-cols-3 gap-8",children:i.map(u=>t.jsxs("div",{className:`bg-white rounded-xl shadow-lg p-8 text-center transition-all duration-300 relative group ${u.clickable?"cursor-pointer hover:shadow-xl hover:scale-105 border-2 border-transparent hover:border-secondary-300":""}`,children:[a&&t.jsx("button",{onClick:m=>{m.stopPropagation(),p(u.id)},className:"absolute top-2 right-2 bg-red-500 hover:bg-red-600 text-white p-2 rounded-full opacity-0 group-hover:opacity-100 transition-opacity duration-200 z-10",title:"Delete Advisory Member",children:t.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}),t.jsx("div",{className:"w-32 h-32 mx-auto mb-6",children:t.jsx(ze,{contentKey:`advisory.${u.id}.image`,src:u.image||"",alt:u.name,className:`w-full h-full object-cover rounded-full border-4 border-primary-200 shadow-lg ${u.id==="huiyin-wang"?"object-top":""}`,containerClassName:"w-full h-full rounded-full border-4 border-primary-200 shadow-lg"})}),t.jsx(sr,{memberId:u.id,field:"name",className:"text-xl font-bold text-gray-900 mb-2 block",defaultValue:u.name,onUpdate:m=>{const h=i.map(x=>x.id===u.id?{...x,name:m}:x);o(h)},children:u.name}),u.title&&t.jsx(sr,{memberId:u.id,field:"title",className:"text-lg text-primary-600 mb-2 block",defaultValue:u.title,onUpdate:m=>{const h=i.map(x=>x.id===u.id?{...x,title:m}:x);o(h)},children:u.title}),u.credentials&&t.jsx(sr,{memberId:u.id,field:"credentials",className:"text-sm text-secondary-600 font-medium mb-4 block",defaultValue:u.credentials,onUp
824date:m=>{const h=i.map(x=>x.id===u.id?{...x,credentials:m}:x);o(h)},children:u.credentials}),u.description&&t.jsx(Dx,{member:u,advisoryMembers:i,saveAdvisoryMembers:o})]},u.id))})})})]})]})},Rx=()=>{const{t:e}=V();ie();const n=w.useMemo(()=>[{title:e("page191.whyChoose332.reasons.0.title"),description:e("page191.whyChoose332.reasons.0.description")},{title:e("page191.whyChoose332.reasons.1.title"),description:e("page191.whyChoose332.reasons.1.description")},{title:e("page191.whyChoose332.reasons.2.title"),description:e("page191.whyChoose332.reasons.2.description")}],[e]),a=w.useMemo(()=>[{name:e("page191.whyChoose332.testimonials.0.name"),text:e("page191.whyChoose332.testimonials.0.text")},{name:e("page191.whyChoose332.testimonials.1.name"),text:e("page191.whyChoose332.testimonials.1.text")},{name:e("page191.whyChoose332.testimonials.2.name"),text:e("page191.whyChoose332.testimonials.2.text")},{name:e("page191.whyChoose332.testimonials.3.name"),text:e("page191.whyChoose332.testimonials.3.text")},{name:e("page191.whyChoose332.testimonials.4.name"),text:e("page191.whyChoose332.testimonials.4.text")}],[e]),i=()=>{try{const s=e("page191.whyChoose332.accreditation.programs",{returnObjects:!0});return Array.isArray(s)?s:[]}catch(s){return console.warn("Failed to get accreditations:",s),[]}},r=w.useMemo(()=>i(),[e]);return t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"Why Choose CCTCMA - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Discover why CCTCMA is the right choice for your TCM and acupuncture education. Experienced instructors, hands-on learning, and international experience."})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("page191.whyChoose332.hero.title"),subtitle:e("page191.whyChoose332.hero.subtitle")}),t.jsx("section",{className:"pt-16 pb-4",children:t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsx("div",{className:"grid md:grid-cols-3 gap-8 mb-16",children:n.map((s,o)=>t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8 text-center hover:shadow-xl transition-shadow duration-300",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary-100 to-primary-200 rounded-full flex items-center justify-center mx-auto mb-6",children:t.jsx("span",{className:"text-2xl font-bold text-primary-600",children:o+1})}),t.jsx(g,{contentKey:`why-choose.reasons.${o}.title`,translationKey:`page191.whyChoose332.reasons.${o}.title`,className:"text-xl font-bold text-gray-900 mb-4",children:s.title}),t.jsx(g,{contentKey:`why-choose.reasons.${o}.description`,translationKey:`page191.whyChoose332.reasons.${o}.description`,className:"text-gray-700 leading-relaxed",multiline:!0,children:s.description})]},o))})})}),t.jsx("section",{className:"pt-4 pb-8 bg-gradient-to-r from-primary-50 to-secondary-50",children:t.jsx("div",{className:"max-w-screen-xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12",children:[t.jsx(g,{contentKey:"why-choose.mission.title",translationKey:"page191.whyChoose332.mission.title",className:"text-3xl font-bold text-center text-gray-900 mb-8",children:e("page191.whyChoose332.mission.title")}),t.jsx("div",{className:"bg-primary-50 border-l-4 border-primary-500 p-6",children:t.jsx(g,{contentKey:"why-choose.mission.statement",translationKey:"page191.whyChoose332.mission.statement",className:"text-lg leading-relaxed text-gray-800 italic text-center",multiline:!0,children:e("page191.whyChoose332.mission.statement")})})]})})}),t.jsx("section",{className:"pt-6 pb-16 bg-gradient-to-r from-secondary-50 to-accent-50",children:t.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[t.jsx(g,{contentKey:"why-choose.accreditation.title",translationKey:"page191.whyChoose332.accreditation.title",className:"text-3xl font-bold text-center text-gray-900 mb-12",children:e("page191.whyChoose332.accreditation.title")}),t.jsx("div",{className:"space-y-8",children:r.map((s,o)=>t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8",children:[t.jsx(g,{contentKey:`why-choose.accreditation.program.${o}.title`,translationKey:`page191.whyChoose332.accreditation.programs.${o}.program`,className:"text-2xl font-bold text-gray-900 mb-6",children:s.program}),t.jsx("ul",{className:"space-y-4",children:s.details&&s.details.map((c,l)=>t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-primary-500 rounded-full mt-2 mr-4 flex-shrink-0"}),t.jsx(g,{contentKey:`why-choose.accreditation.program.${o}.detail.${l}`,translationKey:`page191.whyChoose332.accreditation.programs.${o}.details.${l}`,className:"text-gray-700 leading-relaxed",multiline:!0,children:c})]},l))})]},o))})]})}),t.jsx("section",{className:"py-16 pb-20",children:t.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[t.jsx(g,{contentKey:"why-choose.testimonials.title",translationKey:"page191.whyChoose332.testimonials.title",className:"text-3xl font-bold text-center text-gray-900 mb-12",multiline:!0,children:e("page191.whyChoose332.testimonials.title")}),t.jsx("div",{className:"space-y-8",children:a.map((s,o)=>t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8",children:[t.jsxs("div",{className:"flex items-center mb-6",children:[t.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-accent-100 to-accent-200 rounded-full flex items-center justify-center mr-4",children:t.jsx("span",{className:"text-xl font-bold text-accent-600",children:s.name.split(" ").map(c=>c[0]).join("")})}),t.jsx(g,{contentKey:`why-choose.testimonials.${o}.name`,translationKey:`page191.whyChoose332.testimonials.${o}.name`,className:"text-xl font-bold text-gray-900",children:s.name})]}),t.jsxs(g,{contentKey:`why-choose.testimonials.${o}.text`,translationKey:`page191.whyChoose332.testimonials.${o}.text`,className:"text-gray-700 leading-relaxed italic",multiline:!0,children:['"',s.text,'"']})]},o))})]})})]})]})},Ox=()=>{const{t:e}=V();ie();const[n,a]=w.useState(null),i=[{question:e("page126.faq332.questions.0.question"),answer:[e("page126.faq332.questions.0.answer.0")]},{question:e("page126.faq332.questions.1.question"),answer:[e("page126.faq332.questions.1.answer.0")]},{question:e("page126.faq332.questions.2.question"),answer:[e("page126.faq332.questions.2.answer.0"),e("page126.faq332.questions.2.answer.1"),e("page126.faq332.questions.2.answer.2"),e("page126.faq332.questions.2.answer.3"),e("page126.faq332.questions.2.answer.4"),e("page126.faq332.questions.2.answer.5"),e("page126.faq332.questions.2.answer.6"),e("page126.faq332.questions.2.answer.7"),e("page126.faq332.questions.2.answer.8")]}],r=s=>{a(n===s?null:s)};return t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"FAQ - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Frequently asked questions about CCTCMA programs, accreditation, and admission requirements. Get answers to your questions about TCM and acupuncture education."})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("page126.faq332.hero.title"),subtitle:e("page126.faq332.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsxs("div",{className:"max-w-screen-xl mx-auto px-4 sm:px-6 lg:px-8",children:[t.jsx("div",{className:"space-y-6",children:i.map((s,o)=>t.jsxs("div",{className:"bg-white rounded-xl shadow-lg overflow-hidden",children:[t.jsx("button",{onClick:()=>r(o),className:"w-full px-8 py-6 text-left hover:bg-gray-50 focus:outline-none focus:bg-gray-50 transition-colors duration-200",children:t.jsxs("div",{className:"flex justify-between items-center",children:[t.jsx(g,{contentKey:`faq.questions.${o}.question`,translationKey:`page126.faq332.questions.${o}.question`,className:"text-lg font-semibold text-gray-900 pr-4",multiline:!0,children:s.question}),t.jsx("div",{className:"flex-shrink-0",children:t.jsx("svg",{className:`w-6 h-6 text-primary-600 transform transition-transform duration-200 ${n===o?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})})]})}),n===o&&t.jsx("div",{className:"px-8 pb-6",children:t.jsx("div",{className:"border-t border-gray-200 pt-6",children:t.jsx("div",{className:"space-y-3",children:s.answer.map((c,l)=>c===""?t.jsx("div",{className:"h-2"},l):t.jsx(g,{contentKey:`faq.questions.${o}.answer.${l}`,translationKey:`page126.faq332.questions.${o}.answer.${l}`,className:`text-gray-700 leading-relaxed ${c.startsWith("•")?"ml-4":""}`,multiline:!0,children:c},l))})})})]},o))}),t.jsx("div",{className:"mt-16 bg-gradient-to-r from-primary-50 to-secondary-50 rounded-2xl p-8",children:t.jsxs("div",{className:"text-center",children:[t.jsx(g,{contentKey:"faq.contact.title",translationKey:"page126.faq332.contact.title",className:"text-2xl font-bold text-gray-900 mb-4",children:e("page126.faq332.contact.title")}),t.jsx(g,{contentKey:"faq.contact.description",translationKey:"page126.faq332.contact.description",className:"text-gray-700 mb-6",multiline:!0,children:e("page126.faq332.contact.description")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"flex justify-center items-center space-x-4",children:[t.jsx(g,{contentKey:"faq.contact.phone",translationKey:"page126.faq332.contact.phone",className:"text-gray-800",children:e("page126.faq332.contact.phone")}),t.jsx("span",{className:"text-gray-400",children:"•"}),t.jsx(g,{contentKey:"faq.contact.email",translationKey:"page126.faq332.contact.email",className:"text-gray-800",children:e("page126.faq332.contact.email")})]}),t.jsx(g,{contentKey:"faq.contact.address",translationKey:"page126.faq332.contact.address",className:"text-gray-800",multiline:!0,children:e("page126.faq332.contact.address")})]})]})})]})})]})]})},Kx=()=>{const{t:e}=V();ie();const[n,a]=w.useState(null),i=[{id:1,src:"/images/gallery/teaching/IMG_4130.PNG",alt:"CCTCMA Classroom - Interactive Teaching Session",title:"Interactive Teaching Session",category:"Teaching"},{id:2,src:"/images/gallery/teaching/IMG_4129.PNG",alt:"CCTCMA Classroom - Hands-on Learning",title:"Hands-on Learning",category:"Teaching"},{id:3,src:"/images/gallery/teaching/Dr.Du  teaching herbs.jpg",alt:"Dr. Du Teaching Chinese Herbs",title:"Chinese Herbal Medicine Class",category:"Teaching"},{id:4,src:"/images/gallery/teaching/IMG_0616-new.jpg",alt:"Practical Acupuncture Training",title:"Practical Acupuncture Training",category:"Teaching"},{id:5,src:"/images/gallery/teaching/IMG_0612-new.jpg",alt:"Student Practice Session",title:"Student Practice Session",category:"Teaching"},{id:6,src:"/images/gallery/teaching/chinese language1-new.JPG",alt:"Chinese Language Learning",title:"Chinese Language Learning",category:"Teaching"},{id:7,src:"/images/gallery/student-life/year 3.jpg",alt:"Third Year Students",title:"Third Year Students",category:"Student Life"},{id:8,src:"/images/gallery/student-life/year 3 3.jpg",alt:"Student Group Activities",t
824itle:"Student Group Activities",category:"Student Life"},{id:9,src:"/images/gallery/student-life/IMG_0783-new.jpg",alt:"Student Community",title:"Student Community",category:"Student Life"},{id:11,src:"/images/gallery/graduation/garaduation.jpg",alt:"CCTCMA Graduation Ceremony",title:"Graduation Ceremony",category:"Graduation"},{id:12,src:"/images/gallery/graduation/1 JPEG.jpg",alt:"Graduation Group Photo",title:"Graduation Group Photo",category:"Graduation"},{id:13,src:"/images/gallery/graduation/3 JPEG.jpg",alt:"Graduation Celebration",title:"Graduation Celebration",category:"Graduation"},{id:14,src:"/images/gallery/graduation/A10X4624b.jpg",alt:"Graduation Portraits",title:"Graduation Portraits",category:"Graduation"},{id:15,src:"/images/gallery/social/university-calgary/UC speech 1.PNG",alt:"University of Calgary Speech Event",title:"University of Calgary Speech Event",category:"Social Activities"},{id:16,src:"/images/gallery/social/university-calgary/UC speech 2.PNG",alt:"Academic Conference at UC",title:"Academic Conference at UC",category:"Social Activities"},{id:17,src:"/images/gallery/social/university-calgary/UC speech 3.PNG",alt:"University Partnership Event",title:"University Partnership Event",category:"Social Activities"},{id:18,src:"/images/gallery/social/university-calgary/UC speech 4.PNG",alt:"UC Collaboration Meeting",title:"UC Collaboration Meeting",category:"Social Activities"},{id:19,src:"/images/gallery/social/university-calgary/UC speech 5.PNG",alt:"University of Calgary Presentation",title:"University of Calgary Presentation",category:"Social Activities"},{id:20,src:"/images/gallery/social/university-calgary/UC speech 6.PNG",alt:"Academic Collaboration",title:"Academic Collaboration",category:"Social Activities"},{id:21,src:"/images/gallery/social/university-calgary/UC speech 7.PNG",alt:"University Partnership",title:"University Partnership",category:"Social Activities"},{id:22,src:"/images/gallery/social/university-calgary/UC speech 8.PNG",alt:"UC Academic Event",title:"UC Academic Event",category:"Social Activities"},{id:23,src:"/images/gallery/social/university-calgary/UC speech 9.PNG",alt:"University Conference",title:"University Conference",category:"Social Activities"},{id:24,src:"/images/gallery/social/university-calgary/UC speech 10.PNG",alt:"UC Partnership Meeting",title:"UC Partnership Meeting",category:"Social Activities"},{id:25,src:"/images/gallery/social/university-calgary/UC speech 11.PNG",alt:"University Collaboration",title:"University Collaboration",category:"Social Activities"},{id:26,src:"/images/gallery/social/beijing-meeting/Bejing speech 1.jpg",alt:"International Conference in Beijing",title:"International Conference in Beijing",category:"Social Activities"},{id:27,src:"/images/gallery/social/beijing-meeting/Bejing speech 2.jpg",alt:"Traditional Medicine International Meeting",title:"Traditional Medicine International Meeting",category:"Social Activities"},{id:28,src:"/images/gallery/social/beijing-meeting/Bejing speech 3.jpg",alt:"Professional Development Meeting",title:"Professional Development Meeting",category:"Social Activities"},{id:29,src:"/images/gallery/social/beijing-meeting/Bejing speech 4.jpg",alt:"Beijing Academic Conference",title:"Beijing Academic Conference",category:"Social Activities"},{id:30,src:"/images/gallery/social/beijing-meeting/Bejing speech 5.jpg",alt:"International TCM Meeting",title:"International TCM Meeting",category:"Social Activities"},{id:31,src:"/images/gallery/social/beijing-meeting/Bejing speech 6.jpg",alt:"Beijing Professional Summit",title:"Beijing Professional Summit",category:"Social Activities"},{id:32,src:"/images/gallery/social/beijing-meeting/Bejing speech 7.jpg",alt:"Traditional Medicine Conference",title:"Traditional Medicine Conference",category:"Social Activities"},{id:33,src:"/images/gallery/social/beijing-meeting/Bejing speech 8.jpg",alt:"Beijing International Forum",title:"Beijing International Forum",category:"Social Activities"},{id:34,src:"/images/gallery/social/beijing-meeting/Beijing speeach 9.jpg",alt:"International Medicine Symposium",title:"International Medicine Symposium",category:"Social Activities"},{id:35,src:"/images/gallery/social/senior-center/senior center 1.JPG",alt:"Senior Center Community Service",title:"Senior Center Community Service",category:"Community Service"},{id:36,src:"/images/gallery/social/senior-center/senior center 2.JPG",alt:"Elder Care Program",title:"Elder Care Program",category:"Community Service"},{id:37,src:"/images/gallery/social/senior-center/senior center 3.JPG",alt:"Senior Health Workshop",title:"Senior Health Workshop",category:"Community Service"},{id:38,src:"/images/gallery/social/senior-center/senior center 4.JPG",alt:"Community Health Service",title:"Community Health Service",category:"Community Service"},{id:39,src:"/images/gallery/social/senior-center/senior center 5.JPG",alt:"Senior Wellness Program",title:"Senior Wellness Program",category:"Community Service"},{id:40,src:"/images/gallery/social/senior-center/senior center 6.JPG",alt:"Elder Community Supp
824ort",title:"Elder Community Support",category:"Community Service"},{id:41,src:"/images/gallery/social/senior-center/senior center 7.JPG",alt:"Senior Health Initiative",title:"Senior Health Initiative",category:"Community Service"},{id:42,src:"/images/gallery/social/senior-center/senior center 8.JPG",alt:"Community Elder Care",title:"Community Elder Care",category:"Community Service"},{id:43,src:"/images/gallery/social/senior-center/senior center 9.JPG",alt:"Senior Center Outreach",title:"Senior Center Outreach",category:"Community Service"},{id:44,src:"/images/gallery/social/senior-center/senior center 10.JPG",alt:"Elder Health Support",title:"Elder Health Support",category:"Community Service"},{id:45,src:"/images/gallery/social/senior-center/senior center 11.JPG",alt:"Senior Wellness Initiative",title:"Senior Wellness Initiative",category:"Community Service"},{id:46,src:"/images/gallery/social/senior-center/senior center 12.JPG",alt:"Community Senior Program",title:"Community Senior Program",category:"Community Service"},{id:47,src:"/images/gallery/social/senior-center/senior center 13.JPG",alt:"Senior Health Education",title:"Senior Health Education",category:"Community Service"},{id:48,src:"/images/gallery/social/senior-center/senior center 14.JPG",alt:"Elder Care Outreach",title:"Elder Care Outreach",category:"Community Service"},{id:49,src:"/images/gallery/social/senior-center/senior center 15.JPG",alt:"Senior Community Health",title:"Senior Community Health",category:"Community Service"},{id:50,src:"/images/gallery/social/senior-center/senior center 16.JPG",alt:"Elder Support Program",title:"Elder Support Program",category:"Community Service"},{id:51,src:"/images/gallery/social/senior-center/senior center 17.JPG",alt:"Senior Center Partnership",title:"Senior Center Partnership",category:"Community Service"},{id:52,src:"/images/gallery/social/newcomer-center/new comer center 0.jpg",alt:"Newcomer Center Welcome",title:"Newcomer Center Welcome",category:"Community Service"},{id:53,src:"/images/gallery/social/newcomer-center/new comer center 1.jpg",alt:"New Immigrant Support",title:"New Immigrant Support",category:"Community Service"},{id:54,src:"/images/gallery/social/newcomer-center/new comer center 2.jpg",alt:"Newcomer Health Program",title:"Newcomer Health Program",category:"Community Service"},{id:55,src:"/images/gallery/social/newcomer-center/new comer center 3.jpg",alt:"Community Integration Support",title:"Community Integration Support",category:"Community Service"},{id:56,src:"/images/gallery/social/newcomer-center/new comer center 4.jpg",alt:"Newcomer Wellness Service",title:"Newcomer Wellness Service",category:"Community Service"},{id:57,src:"/images/gallery/social/newcomer-center/new comer center 5.jpg",alt:"Immigrant Health Initiative",title:"Immigrant Health Initiative",category:"Community Service"},{id:58,src:"/images/gallery/social/newcomer-center/new comer center 6.jpg",alt:"Newcomer Community Support",title:"Newcomer Community Support",category:"Community Service"},{id:59,src:"/images/gallery/social/newcomer-center/new comer center 7.jpg",alt:"New Immigrant Outreach",title:"New Immigrant Outreach",category:"Community Service"},{id:60,src:"/images/gallery/social/newcomer-center/new comer center 8.jpg",alt:"Newcomer Health Education",title:"Newcomer Health Education",category:"Community Service"},{id:61,src:"/images/gallery/social/newcomer-center/new comer center 9.jpg",alt:"Community Integration Program",title:"Community Integration Program",category:"Community Service"},{id:62,src:"/images/gallery/social/newcomer-center/new comer center 10.jpg",alt:"Newcomer Support Services",title:"Newcomer Support Services",category:"Community Service"},{id:63,src:"/images/gallery/social/newcomer-center/new comer center 11.jpg",alt:"Immigrant Wellness Program",title:"Immigrant Wellness Program",category:"Community Service"},{id:64,src:"/images/gallery/social/newcomer-center-2023/new comer center 1.jpg",alt:"Newcomer Center 2023",title:"Newcomer Center 2023",category:"Community Service"},{id:65,src:"/images/gallery/social/newcomer-center-2023/new comter center 2.jpg",alt:"New Immigrant Support 2023",title:"New Immigrant Support 2023",category:"Community Service"},{id:66,src:"/images/gallery/social/newcomer-center-2023/new comer center 3.jpg",alt:"Community Outreach 2023",title:"Community Outreach 2023",category:"Community Service"},{id:67,src:"/images/gallery/social/newcomer-center-2023/new comer center 4.jpg",alt:"Newcomer Health Program 2023",title:"Newcomer Health Program 2023",category:"Community Service"},{id:68,src:"/images/gallery/social/newcomer-center-2023/new comer center 5.jpg",alt:"Immigrant Support Services 2023",title:"Immigrant Support Services 2023",category:"Community Service"},{id:69,src:"/images/gallery/social/newcomer-center-2023/new comer center 6.jpg",alt:"Community Integration 2023",title:"Community Integration 2023",category:"Community Service"},{id:70,src:"/images/gallery/social/newcomer-center-2023/new comer center 7.jpg",alt:"Newcomer Wellness 2023",title:"Newcomer Wellness 2023",category:"Community Service"},{id:71,src:"/images/gallery/social/newcomer-center-2023/new comer center 8.jpg",alt:"New Immigrant Health 2023",title:"New Immigrant Health 2023",category:"Community Service"},{id:72,src:"/images/gallery/social/newcomer-center-2023/new comer center 9.jpg",alt:"Community Service 2023",title:"Community Service 2023",category:"Community Service"},{id:73,src:"/images/gallery/social/newcomer-center-2023/new comer center 10.jpg",alt:"Newcomer Support 2023",title:"Newcomer Support 2023",category:"Community Service"},{id:74,src:"/images/gallery/social/newcomer-center-2023/new comer center 11.jpg",alt:"Immigrant Services 2023",title:"Immigrant Services 2023",category:"Community Service"},{id:75,src:"/images/gallery/social/china-internship/Visiting the Great Wall 2011.jpg",alt:"Great Wall Visit - China Internship",title:"Great Wall Visit - China Internship",category:"International Programs"},{id:76,src:"/images/gallery/social/china-internship/Visiting the Great Wall 2 April 2011_Copy.jpg",alt:"Student Great Wall Experience",title:"Student Great Wall Experience",category:"International Programs"},{id:77,src:"/images/gallery/social/china-internship/Visiting NO1 Teaching Hospital of Beijing University_Copy-new.jpg",alt:"Beijing University Hospital Visit",title:"Beijing University Hospital Visit",category:"International Programs"},{id:78,src:"/images/gallery/social/china-internship/Visiting Herbal Company Kang Ren Tang April 2011_Copy-new.jpg",alt:"Traditional Herbal Company Visit",title:"Traditional Herbal Company Visit",category:"International Programs"},{id:79,src:"/images/gallery/social/china-internship/In Kang Ren Tang April 2011-new_Copy.jpg",alt:"Kang Ren Tang Learning Experience",title:"Kang Ren Tang Learning Experience",category:"International Programs"},{id:80,src:"/images/gallery/social/china-internship/China Arpil 2008 071-new.jpg",alt:"China Clinical Training",title:"China Clinical Training",category:"International Programs"},{id:81,src:"/images/gallery/social/china-internship/China Arpil 2008 055-new_Copy.jpg",alt:"Traditional Medicine Study",title:"Traditional Medicine Study",category:"International Programs"},{id:82,src:"/images/gallery/social/china-internship/China Arpil 2008 054-ne
824w_Copy.jpg",alt:"Clinical Practice in China",title:"Clinical Practice in China",category:"International Programs"},{id:83,src:"/images/gallery/social/china-internship/China Arpil 2008 050-new_Copy.jpg",alt:"China Medical Training",title:"China Medical Training",category:"International Programs"},{id:84,src:"/images/gallery/social/china-internship/China Arpil 2008 045-new_Copy.jpg",alt:"International Medical Experience",title:"International Medical Experience",category:"International Programs"},{id:85,src:"/images/gallery/social/china-internship/China Arpil 2008 042.jpg",alt:"China Hospital Training",title:"China Hospital Training",category:"International Programs"},{id:86,src:"/images/gallery/social/china-internship/China Arpil 2008 041-new_Copy-new (1).jpg",alt:"Traditional Chinese Medicine Study",title:"Traditional Chinese Medicine Study",category:"International Programs"},{id:87,src:"/images/gallery/social/china-internship/China Arpil 2008 036-new_Copy.jpg",alt:"Clinical Internship Experience",title:"Clinical Internship Experience",category:"International Programs"},{id:88,src:"/images/gallery/social/china-internship/China Arpil 2008 022-new_Copy.jpg",alt:"China Medical Education",title:"China Medical Education",category:"International Programs"},{id:89,src:"/images/gallery/social/china-internship/April 8, 2011-new_Copy.jpg",alt:"International Study Program",title:"International Study Program",category:"International Programs"},{id:90,src:"/images/gallery/social/central-library/speech 1.jpg",alt:"Central Library Health Talk",title:"Central Library Health Talk",category:"Community Service"},{id:91,src:"/images/gallery/social/central-library/speech 2.jpg",alt:"Public Health Education",title:"Public Health Education",category:"Community Service"},{id:92,src:"/images/gallery/social/central-library/speech 3.jpg",alt:"Community Health Workshop",title:"Community Health Workshop",category:"Community Service"},{id:93,src:"/images/gallery/social/central-library/speech 4.jpg",alt:"Library Health Seminar",title:"Library Health Seminar",category:"Community Service"},{id:94,src:"/images/gallery/social/central-library/speech 5.jpg",alt:"Public TCM Education",title:"Public TCM Education",category:"Community Service"},{id:95,src:"/images/gallery/social/central-library/speech 6.jpg",alt:"Community Wellness Talk",title:"Community Wellness Talk",category:"Community Service"},{id:96,src:"/images/gallery/social/central-library/speech 7.jpg",alt:"Health Education Outreach",title:"Health Education Outreach",category:"Community Service"},{id:97,src:"/images/gallery/social/central-library/speech 8.jpg",alt:"Library Health Program",title:"Library Health Program",category:"Community Service"},{id:98,src:"/images/gallery/social/central-library/speech 9.jpg",alt:"Public Health Initiative",title:"Public Health Initiative",category:"Community Service"},{id:99,src:"/images/gallery/social/central-library/speech 10.JPG",alt:"Community Education Event",title:"Community Education Event",category:"Community Service"},{id:100,src:"/images/gallery/social/central-library/speech 11.jpg",alt:"TCM Community Outreach",title:"TCM Community Outreach",category:"Community Service"},{id:101,src:"/images/gallery/social/central-library/speech 12.JPG",alt:"Health Awareness Program",title:"Health Awareness Program",category:"Community Service"},{id:102,src:"/images/gallery/social/central-library/speech 13.JPG",alt:"Public Wellness Education",title:"Public Wellness Education",category:"Community Service"},{id:103,src:"/images/gallery/social/central-library/speech 14.JPG",alt:"Community Health Talk",title:"Community Health Talk",category:"Community Service"},{id:104,src:"/images/gallery/social/central-library/speech 15.JPG",alt:"Library Wellness Seminar",title:"Library Wellness Seminar",category:"Community Service"},{id:105,src:"/images/gallery/social/food-festival/IMG_8140_Copy.jpg",alt:"Asian Street Food Festival",title:"Asian Street Food Festival",category:"Community Events"},{id:106,src:"/images/gallery/social/food-festival/IMG_8143_Copy.jpg",alt:"Cultural Food Festival",title:"Cultural Food Festival",category:"Community Events"},{id:107,src:"/images/gallery/social/food-festival/IMG_8146_Copy.jpg",alt:"Community Cultural Event",title:"Community Cultural Event",category:"Community Events"},{id:108,src:"/images/gallery/social/food-festival/IMG_8150_Copy.jpg",alt:"Asian Festival Participation",title:"Asian Festival Participation",category:"Community Events"},{id:109,src:"/images/gallery/social/food-festival/IMG_8165_Copy.jpg",alt:"Cultural Community Engagement",title:"Cultural Community Engagement",category:"Community Events"},{id:110,src:"/images/gallery/social/food-festival/IMG_8170_Copy.jpg",alt:"Fe
824stival Health Promotion",title:"Festival Health Promotion",category:"Community Events"},{id:111,src:"/images/gallery/social/food-festival/IMG_8172_Copy.jpg",alt:"Community Festival Outreach",title:"Community Festival Outreach",category:"Community Events"},{id:112,src:"/images/gallery/social/food-festival/IMG_8180_Copy.jpg",alt:"Asian Cultural Festival",title:"Asian Cultural Festival",category:"Community Events"},{id:113,src:"/images/gallery/social/food-festival/IMG_8182_Copy.jpg",alt:"Festival Community Service",title:"Festival Community Service",category:"Community Events"},{id:114,src:"/images/gallery/social/food-festival/IMG_8190_Copy.jpg",alt:"Food Festival Wellness Booth",title:"Food Festival Wellness Booth",category:"Community Events"},{id:115,src:"/images/gallery/social/food-festival/e872a4e95a2f0446db1bf9a4a5019a4f(2)_Copy.jpg",alt:"Community Cultural Celebration",title:"Community Cultural Celebration",category:"Community Events"},{id:116,src:"/images/home/hands-on-learning.png",alt:"Hands-on Learning Experience",title:"Hands-on Learning Experience",category:"Campus"},{id:117,src:"/images/home/experienced-instructors.jpg",alt:"Experienced Instructors",title:"Experienced Instructors",category:"Campus"},{id:118,src:"/images/home/our-mission.JPG",alt:"Our Mission in Action",title:"Our Mission in Action",category:"Campus"},{id:119,src:"/images/home/international-experience.PNG",alt:"International Experience",title:"International Experience",category:"Campus"},{id:120,src:"/images/gallery/student-clinic/Visiting the Great Wall 2011.jpg",alt:"Students visiting the Great Wall of China during internship",title:"Great Wall Visit 2011",category:"Student Clinic"},{id:121,src:"/images/gallery/student-clinic/Visiting the Great Wall 2 April 2011_Copy.jpg",alt:"Students at the Great Wall during China internship",title:"Great Wall Experience",category:"Student Clinic"},{id:122,src:"/images/gallery/student-clinic/Visiting NO1 Teaching Hospital of Beijing University_Copy-new.jpg",alt:"Students visiting Beijing University Teaching Hospital",title:"Beijing University Hospital Visit",category:"Student Clinic"},{id:123,src:"/images/gallery/student-clinic/Visiting Herbal Company Kang Ren Tang April 2011_Copy-new.jpg",alt:"Students visiting Kang Ren Tang herbal company",title:"Kang Ren Tang Company Visit",category:"Student Clinic"},{id:124,src:"/images/gallery/student-clinic/Prof_修复后_Copy_修复后.jpg",alt:"Professor teaching during China internship",title:"Professor Teaching Session",category:"Student Clinic"},{id:125,src:"/images/gallery/student-clinic/In Kang Ren Tang April 2011-new_Copy.jpg",alt:"Students learning at Kang Ren Tang facility",title:"Learning at Kang Ren Tang",category:"Student Clinic"},{id:126,src:"/images/gallery/student-clinic/China Arpil 2008 071-new.jpg",alt:"China internship experience 2008",title:"China Internship 2008",category:"Student Clinic"},{id:127,src:"/images/gallery/student-clinic/China Arpil 2008 055-new_Copy.jpg",alt:"Clinical practice during China internship",title:"Clinical Practice Experience",category:"Student Clinic"},{id:128,src:"/images/gallery/student-clinic/China Arpil 2008 054-ne
824w_Copy.jpg",alt:"Students during practical training in China",title:"Practical Training Session",category:"Student Clinic"},{id:129,src:"/images/gallery/student-clinic/China Arpil 2008 050-new_Copy.jpg",alt:"Hands-on learning experience in China",title:"Hands-on Learning",category:"Student Clinic"},{id:130,src:"/images/gallery/student-clinic/China Arpil 2008 045-new_Copy.jpg",alt:"Students engaged in clinical observation",title:"Clinical Observation",category:"Student Clinic"},{id:131,src:"/images/gallery/student-clinic/China Arpil 2008 042.jpg",alt:"Group learning session during internship",title:"Group Learning Session",category:"Student Clinic"},{id:132,src:"/images/gallery/student-clinic/China Arpil 2008 041-new_Copy-new (1).jpg",alt:"Interactive learning in Chinese medicine clinic",title:"Interactive Clinical Learning",category:"Student Clinic"},{id:133,src:"/images/gallery/student-clinic/China Arpil 2008 036-new_Copy.jpg",alt:"Students observing traditional Chinese medicine practice",title:"TCM Practice Observation",category:"Student Clinic"},{id:134,src:"/images/gallery/student-clinic/China Arpil 2008 022-new_Copy.jpg",alt:"Clinical training experience in China",title:"Clinical Training",category:"Student Clinic"},{id:135,src:"/images/gallery/student-clinic/April 8, 2011-new_Copy.jpg",alt:"Students during April 2011 China program",title:"April 2011 Program",category:"Student Clinic"},{id:136,src:"/images/gallery/student-clinic/16_修复后.JPG",alt:"Clinical practice session in China",title:"Clinical Practice Session",category:"Student Clinic"},{id:137,src:"/images/gallery/student-clinic/08_修复后.JPG",alt:"Traditional Chinese medicine learning",title:"TCM Learning Experience",category:"Student Clinic"},{id:138,src:"/images/gallery/student-clinic/09_修复后.JPG",alt:"Students in clinical setting",title:"Clinical Setting Experience",category:"Student Clinic"},{id:139,src:"/images/gallery/student-clinic/07_修复后.JPG",alt:"Practical acupuncture training in China",title:"Acupuncture Training",category:"Student Clinic"},{id:140,src:"/images/gallery/student-clinic/03_修复后.JPG",alt:"International clinical exposure",title:"International Clinical Exposure",category:"Student Clinic"},{id:141,src:"/images/gallery/student-clinic/02_修复后.JPG",alt:"Students learning traditional techniques",title:"Traditional Techniques Learning",category:"Student Clinic"},{id:142,src:"/images/gallery/student-clinic/01_修复后.JPG",alt:"China internship program participants",title:"China Internship Program",category:"Student Clinic"}],r=[{key:"all",label:e("page130.photoGallery332.filter.all")},{key:"teaching",label:e("page130.photoGallery332.filter.teaching")},{key:"studentLife",label:e("page130.photoGallery332.filter.studentLife")},{key:"graduation",label:e("page130.photoGallery332.filter.graduation")},{key:"socialActivities",label:e("page130.photoGallery332.filter.socialActivities")},{key:"communityService",label:e("page130.photoGallery332.filter.communityService")},{key:"internationalPrograms",label:e("page130.photoGallery332.filter.internationalPrograms")},{key:"communityEvents",label:e("page130.photoGallery332.filter.communityEvents")},{key:"campus",label:e("page130.photoGallery332.filter.campus")},{key:"studentClinic",label:e("page130.photoGallery332.filter.studentClinic")}],[s,o]=w.useState("all"),c=s==="all"?i:i.filter(l=>({Teaching:"teaching","Student Life":"studentLife",Graduation:"graduation","Social Activities":"socialActivities","Community Service":"communityService","International Programs":"internationalPrograms","Community Events":"communityEvents",Campus:"campus","Student Clinic":"studentClinic"})[l.category]===s);return t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"Photo Gallery - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Explore our photo gallery showcasing CCTCMA's campus, classrooms, clinic facilities, faculty, students, and special events."})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("page130.photoGallery332.hero.title"),subtitle:e("page130.photoGallery332.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[t.jsx("div",{className:"mb-12",children:t.jsx("div",{className:"flex justify-center",children:t.jsx("div",{className:"flex gap-2 overflow-x-auto scrollbar-hide max-w-full pb-2",children:r.map(l=>t.jsx("button",{onClick:()=>o(l.key),className:`px-4 py-2 rounded-full font-medium transition-all duration-300 whitespace-nowrap flex-shrink-0 ${s===l.ke
824y?"bg-primary-600 text-white shadow-lg":"bg-white text-gray-700 hover:bg-primary-50 hover:text-primary-600 shadow-md"}`,children:t.jsx(g,{contentKey:`gallery.filter.${l.key}`,translationKey:`page130.photoGallery332.filter.${l.key}`,className:"",children:l.label})},l.key))})})}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:c.map(l=>t.jsxs("div",{className:"group relative bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-xl transition-all duration-300 cursor-pointer",onClick:()=>a(l.src),children:[t.jsx("div",{className:"relative w-full h-64 bg-gray-200",children:t.jsx("img",{src:l.src,alt:l.alt,className:"absolute inset-0 w-full h-full object-cover",loading:"lazy"})}),t.jsx("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/20 transition-all duration-300 flex items-end",children:t.jsxs("div",{className:"w-full p-4 bg-gradient-to-t from-black/60 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300",children:[t.jsx("h3",{className:"text-white font-semibold text-lg mb-1",children:l.title}),t.jsx("p",{className:"text-white/80 text-sm",children:l.category})]})})]},l.id))}),t.jsxs("div",{className:"mt-16 bg-gradient-to-r from-primary-50 to-secondary-50 rounded-2xl p-8 text-center",children:[t.jsx(g,{contentKey:"gallery.comingSoon.title",translationKey:"page130.photoGallery332.comingSoon.title",className:"text-2xl font-bold text-gray-900 mb-4",children:e("page130.photoGallery332.comingSoon.title")}),t.jsx(g,{contentKey:"gallery.comingSoon.description",translationKey:"page130.photoGallery332.comingSoon.description",className:"text-gray-700 mb-6 max-w-2xl mx-auto",children:e("page130.photoGallery332.comingSoon.description")}),t.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-12 h-12 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-3",children:t.jsx("span",{className:"text-xl",children:"🏫"})}),t.jsx(g,{contentKey:"gallery.preview.campusLife.title",translationKey:"page130.photoGallery332.preview.campusLife.title",className:"font-semibold text-gray-900 mb-2",children:e("page130.photoGallery332.preview.campusLife.title")}),t.jsx(g,{contentKey:"gallery.preview.campusLife.description",translationKey:"page130.photoGallery332.preview.campusLife.description",className:"text-sm text-gray-600",children:e("page130.photoGallery332.preview.campusLife.description")})]}),t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-12 h-12 bg-secondary-100 rounded-full flex items-center justify-center mx-auto mb-3",children:t.jsx("span",{className:"text-xl",children:"🎓"})}),t.jsx(g,{contentKey:"gallery.preview.specialEvents.title",translationKey:"page130.photoGallery332.preview.specialEvents.title",className:"font-semibold text-gray-900 mb-2",children:e("page130.photoGallery332.preview.specialEvents.title")}),t.jsx(g,{contentKey:"gallery.preview.specialEvents.description",translationKey:"page130.photoGallery332.preview.specialEvents.description",className:"text-sm text-gray-600",children:e("page130.photoGallery332.preview.specialEvents.description")})]}),t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-12 h-12 bg-accent-100 rounded-full flex items-center justify-center mx-auto mb-3",children:t.jsx("span",{className:"text-xl",children:"🏥"})}),t.jsx(g,{contentKey:"gallery.preview.clinicalPractice.title",translationKey:"page130.photoGallery332.preview.clinicalPractice.title",className:"font-semibold text-gray-900 mb-2",children:e("page130.photoGallery332.preview.clinicalPractice.title")}),t.jsx(g,{contentKey:"gallery.preview.clinicalPractice.description",translationKey:"page130.photoGallery332.preview.clinicalPractice.description",className:"text-sm text-gray-600",children:e("page130.photoGallery332.preview.clinicalPractice.description")})]})]})]})]})}),n&&t.jsx("div",{className:"fixed inset-0 bg-black/80 z-50 flex items-center justify-center p-4",onClick:()=>a(null),children:t.jsxs("div",{className:"relative max-w-4xl max-h-full",children:[t.jsx("button",{onClick:()=>a(null),className:"absolute -top-12 right-0 text-white hover:text-gray-300 text-2xl",children:"✕"}),t.jsx("div",{className:"bg-white rounded-lg p-4",children:t.jsx("div",{className:"relative w-full max-h-[80vh] overflow-hidden rounded-lg",children:t.jsx("img",{src:n,alt:"Gallery Image",className:"w-full h-auto max-h-[75vh] object-contain rounded-lg"})})})]})})]})]})},Fx=()=>{const{t:e}=V();return ie(),t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"Hiring - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Join our team at CCTCMA. We are always looking for talented, passionate, experienced professionals to join our faculty and staff."})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("page128.hiring332.hero.title"),subtitle:e("page128.hiring332.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsx("div",{className:"max-w-screen-xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx(g,{contentKey:"hiring.main.title",translationKey:"page128.hiring332.main.title",className:"text-3xl font-bold text-gray-900 mb-6",children:e("page128.hiring332.main.title")}),t.jsx(g,{contentKey:"hiring.main.description",translationKey:"page128.hiring332.main.description",className:"text-lg text-gray-700 leading-relaxed",multiline:!0,children:e("page128.hiring332.main.description")})]}),t.jsxs("div",{className:"space-y-8",children:[t.jsxs("div",{className:"bg-primary-50 border-l-4 border-primary-500 p-6 rounded-r-lg",children:[t.jsx(g,{contentKey:"hiring.looking.title",translationKey:"page128.hiring332.looking.title",className:"text-xl font-semibold text-gray-900 mb-4",children:e("page128.hiring332.looking.title")}),t.jsx(g,{contentKey:"hiring.looking.description",translationKey:"page128.hiring332.looking.description",className:"text-gray-700 leading-relaxed mb-4",multiline:!0,children:e("page128.hiring332.looking.description")})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-secondary-50 to-secondary-100 rounded-xl p-6",children:[t.jsx(g,{contentKey:"hiring.faculty.title",translationKey:"page128.hiring332.faculty.title",className:"text-lg font-semibold text-gray-900 mb-4",children:e("page128.hiring332.faculty.title")}),t.jsxs("ul",{className:"space-y-2 text-gray-700",children:[t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-secondary-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx(g,{contentKey:"hiring.faculty.req1",translationKey:"page128.hiring332.faculty.req1",className:"",children:e("page128.hiring332.faculty.req1")})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-secondary-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx(g,{contentKey:"hiring.faculty.req2",translationKey:"page128.hiring332.faculty.req2",className:"",children:e("page128.hiring332.faculty.req2")})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-secondary-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx(g,{contentKey:"hiring.faculty.req3",translationKey:"page128.hiring332.faculty.req3",className:"",children:e("page128.hiring332.faculty.req3")})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-secondary-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx(g,{contentKey:"hiring.faculty.req4",translationKey:"page128.hiring332.faculty.req4",className:"",children:e("page128.hiring332.faculty.req4")})]})]})]}),t.jsxs("div",{className:"bg-gradient-to-br from-accent-50 to-accent-100 rounded-xl p-6",children:[t.jsx(g,{contentKey:"hiring.clinical.title",translationKey:"page128.hiring332.clinical.title",className:"text-lg font-semibold text-gray-900 mb-4",children:e("page128.hiring332.clinical.title")}),t.jsxs("ul",{className:"space-y-2 text-gray-700",children:[t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-accent-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx(g,{contentKey:"hiring.clinical.req1",translationKey:"page128.hiring332.clinical.req1",className:"",children:e("page128.hiring332.clinical.req1")})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-accent-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx(g,{contentKey:"hiring.clinical.req2",translationKey:"page128.hiring332.clinical.req2",className:"",children:e("page128.hiring332.clinical.req2")})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-accent-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx(g,{contentKey:"hiring.clinical.req3",translationKey:"page128.hiring332.clinical.req3",className:"",children:e("page128.hiring332.clinical.req3")})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-accent-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx(g,{contentKey:"hiring.clinical.req4",translationKey:"page128.hiring332.clinical.req4",className:"",children:e("page128.hiring332.clinical.req4")})]})]})]})]}),t.jsxs("div",{className:"bg-gray-50 rounded-xl p-8",children:[t.jsx(g,{contentKey:"hiring.apply.title",translationKey:"page128.hiring332.apply.title",className:"text-2xl font-bold text-gray-900 mb-6 text-center",children:e("page128.hiring332.apply.title")}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsx("span",{className:"text-2xl font-bold text-primary-600",children:"1"})}),t.jsx(g,{contentKey:"hiring.apply.step1.title",translationKey:"page128.hiring332.apply.step1.title",className:"text-lg font-semibold text-gray-900 mb-2",children:e("page128.hiring332.apply.step1.title")}),t.jsx(g,{contentKey:"hiring.apply.step1.description",translationKey:"page128.hiring332.apply.step1.description",className:"text-gray-700",multiline:!0,children:e("page128.hiring332.apply.step1.description")})]}),t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsx("span",{className:"text-2xl font-bold text-primary-600",children:"2"})}),t.jsx(g,{contentKey:"hiring.apply.step2.title",translationKey:"page128.hiring332.apply.step2.title",className:"text-lg font-semibold text-gray-900 mb-2",children:e("page128.hiring332.apply.step2.title")}),t.jsx(g,{contentKey:"hiring.apply.step2.description",translationKey:"page128.hiring332.apply.step2.description",className:"text-gray-700",multiline:!0,children:e("page128.hiring332.apply.step2.description")})]})]})]}),t.jsx("div",{className:"bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white",children:t.jsxs("div",{className:"flex flex-col md:flex-row items-center md:items-start gap-6",children:[t.jsx("img",{src:"/images/ready-to-join.png",alt:"Ready to join our team",className:"w-80 h-56 object-cover rounded-lg border-4 border-white shadow-lg flex-shrink-0"}),t.jsxs("div",{className:"flex-1 text-center md:text-left",children:[t.jsx(g,{contentKey:"hiring.contact.title",translationKey:"page128.hiring332.contact.title",className:"text-2xl font-bold mb-4",children:e("page128.hiring332.contact.title")}),t.jsx(g,{contentKey:"hiring.contact.description",translationKey:"page128.hiring332.contact.description",className:"text-primary-100 mb-6",multiline:!0,children:e("page128.hiring332.contact.description")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"flex justify-center md:justify-start items-center space-x-4",children:[t.jsx(g,{contentKey:"hiring.contact.email",translationKey:"page128.hiring332.contact.email",className:"",children:e("page128.hiring332.contact.email")}),t.jsx("span",{className:"text-primary-200",children:"•"}),t.jsx(g,{contentKey:"hiring.contact.phone",translationKey:"page128.hiring332.contact.phone",className:"",children:e("page128.hiring332.contact.phone")})]}),t.jsx(g,{contentKey:"hiring.contact.address",translationKey:"page128.hiring332.contact.address",className:"",children:e("page128.hiring332.contact.address")})]})]})]})}),t.jsxs("div",{className:"grid md:grid-cols-3 gap-6",children:[t.jsxs("div",{className:"text-center p-6 bg-white border border-gray-200 rounded-xl",children:[t.jsx("div",{className:"w-12 h-12 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsx("span",{className:"text-xl",children:"🎓"})}),t.jsx(g,{contentKey:"hiring.benefits.excellence.title",translationKey:"page128.hiring332.benefits.excellence.title",className:"text-lg font-semibold text-gray-900 mb-2",children:e("page128.hiring332.benefits.excellence.title")}),t.jsx(g,{contentKey:"hiring.benefits.excellence.description",translationKey:"page128.hiring332.benefits.excellence.description",className:"text-gray-600 text-sm",multiline:!0,children:e("page128.hiring332.benefits.excellence.description")})]}),t.jsxs("div",{className:"text-center p-6 bg-white border border-gray-200 rounded-xl",children:[t.jsx("div",{className:"w-12 h-12 bg-secondary-100 rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsx("span",{className:"text-xl",children:"🌟"})}),t.jsx(g,{contentKey:"hiring.benefits.growth.title",translationKey:"page128.hiring332.benefits.growth.title",className:"text-lg font-semibold text-gray-900 mb-2",children:e("page128.hiring332.benefits.growth.title")}),t.jsx(g,{contentKey:"hiring.benefits.growth.description",translationKey:"page128.hiring332.benefits.growth.description",className:"text-gray-600 text-sm",multiline:!0,children:e("page128.hiring332.benefits.growth.description")})]}),t.jsxs("div",{className:"text-center p-6 bg-white border border-gray-200 rounded-xl",children:[t.jsx("div",{className:"w-12 h-12 bg-accent-100 rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsx("span",{className:"text-xl",children:"🤝"})}),t.jsx(g,{contentKey:"hiring.benefits.collaborative.title",translationKey:"page128.hiring332.benefits.collaborative.title",className:"text-lg font-semibold text-gray-900 mb-2",children:e("page128.hiring332.benefits.collaborative.title")}),t.jsx(g,{contentKey:"hiring.benefits.collaborative.description",translationKey:"page128.hiring332.benefits.collaborative.description",className:"text-gray-600 text-sm",multiline:!0,children:e("page128.hiring332.benefits.collaborative.description")})]})]})]})]})})})]})]})},Hx=()=>{const{t:e}=V();ie();const n=[{title:"Cedar & Steam – Registered Massage Therapist",image:"/images/Job_Listing_Photos/Cedar-Steam-Registered-Massage-Therapist-PT.png",comments:"0 comments",date:"June 12, 2026",category:"Job Listing"}
824,{title:"Fox Sport & Spine – Registered Acupuncturist / TCM Practitioner",image:"/images/Job_Listing_Photos/Fox-Sport-and-Spine.png",comments:"0 comments",date:"May 22, 2026",category:"Job Listing"},{title:"Century Wellness Clinic – Massage Therapist",image:"/images/Job_Listing_Photos/Century-Wellness-Massage-Therapist.png",comments:"0 comments",date:"April 27, 2026",category:"Job Listing"},{title:"Etznab Natural Healing Clinic",image:"/images/Job_Listing_Photos/Etznab-Natural-Healing-Clinic.png",comments:"0 comments",date:"February 3, 2026",category:"Job Listing"},{title:"Luna Spa",image:"/images/Changes_Requested_Jan_25_2026/_Hiring Flyer Luna Spa-1.jpg",comments:"0 comments",date:"January 25, 2026",category:"Job Listing"},{title:"Therapeutic Massage Clinic",image:"/images/Changes_Requested_Jan_25_2026/Job opening for.png",comments:"0 comments",date:"January 25, 2026",category:"Job Listing"},{title:"Massage Addict",image:"/images/Job_Listing_Photos/Massage-Addict.png",comments:"0 comments",date:"July 24, 2025",category:"Job Listing"},{title:"Therapeutic and Relaxation Massage Clinic",image:"/images/Job_Listing_Photos/Therapeutic-and-Relaxation-Massage-Clinic.png",comments:"0 comments",date:"June 27, 2025",category:"Job Listing"},{title:"Valleyview Chiropractic and Wellness in Kelowna BC",image:"/images/Job_Listing_Photos/Valleyview-Chiropractic-and-Wellness-in-Kelowna-BC.png",comments:"0 comments",date:"May 16, 2025",category:"Job Listing"},{title:"Jade Skin Health",image:"/images/Job_Listing_Photos/Jade-Skin-Health.png",comments:"0 comments",date:"May 16, 2025",category:"Job Listing"},{title:"Holistic Institute Of Health & Fertility",image:"/images/Job_Listing_Photos/Holistic-Institute-Of-Health-&-Fertility.png",comments:"0 comments",date:"January 9, 2025",category:"Job Listing"},{title:"Docere Naturopathic Medicine",image:"/images/Job_Listing_Photos/Docere-Naturopathic-Medicine.png",comments:"0 comments",date:"January 9, 2025",category:"Job Listing"}];return t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"Job Listing - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Current job opportunities for TCM practitioners, acupuncturists, and massage therapists. Find your next career opportunity in traditional Chinese medicine."})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("page129.jobListing332.hero.title"),subtitle:e("page129.jobListing332.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsx("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsx("div",{className:"space-y-8",children:n.map((a,i)=>t.jsxs("div",{className:"bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-xl transition-shadow duration-300",children:[t.jsxs("div",{className:"p-8 pb-6",children:[t.jsx("h3",{className:"text-3xl font-bold text-gray-900 mb-4",children:a.title}),t.jsxs("div",{className:"text-lg text-gray-600 mb-2",children:[a.comments," / ",a.date]}),t.jsxs("div",{className:"text-lg text-primary-600 font-medium",children:["Under: ",a.category]})]}),t.jsx("div",{className:"px-8 pb-8",children:t.jsx("img",{src:a.image,alt:a.title,className:"w-full h-auto object-contain rounded-lg",loading:"lazy"})})]},i))})})})]})]})},zx=()=>{const{t:e}=V();ie();const n=e("about.collegeNews.articles",{returnObjects:!0});return t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"College News - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"Stay updated with the latest news and announcements from Calgary College of Traditional Chinese Medicine and Acupuncture."})]}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-primary-50 via-white to-secondary-50",children:[t.jsx(re,{title:e("about.collegeNews.hero.title"),subtitle:e("about.collegeNews.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[t.jsx("div",{className:"space-y-8",children:n.map((a,i)=>t.jsx("article",{className:"bg-white rounded-xl shadow-lg overflow-hidden",children:t.jsxs("div",{className:"p-8",children:[t.jsx("div",{className:"flex flex-col md:flex-row md:items-center md:justify-between mb-6",children:t.jsxs("div",{className:"flex-1",children:[t.jsxs("div",{className:"flex items-center mb-3",children:[t.jsx("span",{className:"inline-block bg-primary-100 text-primary-800 px-3 py-1 rounded-full text-sm font-medium mr-3",children:a.category}),t.jsx("time",{className:"text-gray-500 text-sm",children:a.date})]}),t.jsx("h2",{className:"text-2xl md:text-3xl font-bold text-gray-900 mb-3",children:a.title}),t.jsx("p",{className:"text-lg text-gray-600 leading-relaxed",children:a.excerpt})]})}),a.image&&t.jsx("div",{className:"mb-6",children:t.jsx("img",{src:a.image,alt:a.title,className:"w-full h-auto rounded-lg shadow-md"})}),t.jsx("div",{className:"prose prose-lg max-w-none",children:t.jsx("p",{className:"text-gray-700 leading-relaxed",children:a.content})}),t.jsx("div",{className:"mt-6 pt-6 border-t border-gray-200",children:t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("div",{className:"flex items-center space-x-4",children:t.jsxs("span",{className:"text-sm text-gray-500",children:["Published on ",a.date]})}),t.jsxs("div",{className:"flex items-center space-x-2",children:[t.jsx("span",{className:"text-sm text-gray-500",children:e("about.collegeNews.share.label")}),t.jsxs("button",{className:"text-gray-400 hover:text-primary-600 transition-colors",children:[t.jsx("span",{className:"sr-only",children:"Share on Facebook"}),"📘"]}),t.jsxs("button",{className:"text-gray-400 hover:text-primary-600 transition-colors",children:[t.jsx("span",{className:"sr-only",children:"Share on Twitter"}),"🐦"]}),t.jsxs("button",{className:"text-gray-400 hover:text-primary-600 transition-colors",children:[t.jsx("span",{className:"sr-only",children:"Share on LinkedIn"}),"💼"]})]})]})})]})},i))}),t.jsxs("div",{className:"mt-16 bg-gradient-to-r from-primary-600 to-primary-700 rounded-2xl p-8 text-white text-center",children:[t.jsx("h2",{className:"text-2xl font-bold mb-4",children:e("about.collegeNews.newsletter.title")}),t.jsx("p",{className:"text-primary-100 mb-6 max-w-2xl mx-auto",children:e("about.collegeNews.newsletter.description")}),t.jsxs("div",{className:"max-w-md mx-auto",children:[t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[t.jsx("input",{type:"email",placeholder:e("common.placeholders.emailAddress"),className:"flex-1 px-4 py-3 rounded-lg text-gray-900 placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-300"}),t.jsx("button",{className:"bg-white text-primary-600 px-6 py-3 rounded-lg font-semibold hover:bg-primary-50 transition-colors",children:e("about.collegeNews.newsletter.button")})]}),t.jsx("p",{className:"text-primary-200 text-sm mt-3",children:e("about.collegeNews.newsletter.privacy")})]})]}),t.jsx("div",{className:"mt-12 bg-white rounded-xl shadow-lg p-8",children:t.jsxs("div",{className:"text-center",children:[t.jsx("h3",{className:"text-xl font-bold text-gray-900 mb-4",children:e("about.collegeNews.contact.title")}),t.jsx("p",{className:"text-gray-700 mb-6",children:e("about.collegeNews.contact.description")}),t.jsxs("div",{className:"space-y-2",children:[t.jsxs("p",{className:"text-gray-800",children:[t.jsxs("span",{className:"font-semibold",children:[e("about.collegeNews.contact.email"),":"]})," [email protected]"]}),t.jsxs("p",{className:"text-gray-800",children:[t.jsxs("span",{className:"font-semibold",children:[e("about.collegeNews.contact.phone"),":"]})," (403) 287-8688"]})]})]})})]})})]})]})};function Vl({title:e,description:n,type:a="website",image:i="/images/logo.png",url:r,jsonLd:s}){const{t:o,i18n:c}=V(),l="Calgary College of Traditional Chinese Medicine and Acupuncture",d=e?`${e} | ${l}`:l,p=n||o("seo.defaultDescription");let u=r;if(!u){const y=window.location.pathname,N="https://cctcma.com",S=y==="/"?"/":y.replace(/\/$/,"");u=`${N}${S}`}const m=r||window.location.href,h=i.startsWith("http")?i:`${window.location.origin}${i}`,x={"@context":"https://schema.org","@type":"EducationalOrganization",name:l,alternateName:["CCTCMA","Calgary College of TCM","Calgary College of Traditional Chinese Medicine"],legalName:"Calgary College of Traditional Chinese Medicine and Acupuncture",url:"https://cctcma.com",logo:{"@type":"ImageObject",url:`${window.location.origin}/images/logo.png`,width:400,height:400},image:`${window.location.origin}
824/images/logo.png`,description:"Leading Traditional Chinese Medicine college in Calgary since 2003, offering accredited Acupuncture, TCM, and Massage Therapy programs with professional clinic services.",foundingDate:"2003",founder:{"@type":"Person",name:"Dr. Frank Du"},address:{"@type":"PostalAddress",streetAddress:"4014 Macleod Trail South",addressLocality:"Calgary",addressRegion:"Alberta",postalCode:"T2G 2R7",addressCountry:"CA"},geo:{"@type":"GeoCoordinates",latitude:51.0158,longitude:-114.0847},contactPoint:[{"@type":"ContactPoint",telephone:"+1-403-287-8688",contactType:"customer service",areaServed:"CA-AB",availableLanguage:["English","Chinese"],contactOption:"TollFree"},{"@type":"ContactPoint",email:"[email protected]",contactType:"customer service",areaServed:"CA-AB"},{"@type":"ContactPoint",email:"[email protected]",contactType:"admissions",areaServed:"CA-AB"}],sameAs:["https://m.facebook.com/cctcma/","https://www.instagram.com/cctcma/","https://www.linkedin.com/company/cctcma","https://www.youtube.com/c/cctcma"],accreditedBy:[{"@type":"Organization",name:"Private Career Training Institutions Agency",alternateName:"PCTIA"},{"@type":"Organization",name:"College of Acupuncturists of Alberta",alternateName:"CAA"},{"@type":"Organization",name:"College of Massage Therapists of Alberta",alternateName:"CMTA"},{"@type":"Organization",name:"Natural Health Practitioners of Canada",alternateName:"NHPC"},{"@type":"Organization",name:"Canadian Massage and Manual Osteopathic Therapists Association",alternateName:"CMMOTA"}],identifier:[{"@type":"PropertyValue",name:"DLI Number",value:"O111917070547"}],hasOfferCatalog:{"@type":"OfferCatalog",name:"Traditional Chinese Medicine Programs",itemListElement:[{"@type":"EducationalOccupationalProgram",name:"Doctor of Traditional Chinese Medicine",description:"Comprehensive 4-year program in Traditional Chinese Medicine",occupationalCategory:"Traditional Chinese Medicine Practitioner",programType:"Diploma",timeToComplete:"P4Y",applicationDeadline:"2024-12-31",provider:{"@type":"EducationalOrganization",name:l}},{"@type":"EducationalOccupationalProgram",name:"Acupuncture Diploma Program",description:"3-year comprehensive acupuncture training program",occupationalCategory:"Acupuncturist",programType:"Diploma",timeToComplete:"P3Y",applicationDeadline:"2024-12-31",provider:{"@type":"EducationalOrganization",name:l}},{"@type":"EducationalOccupationalProgram",name:"2200-Hour Massage Therapy Diploma",description:"Comprehensive massage therapy training program",occupationalCategory:"Massage Therapist",programType:"Diploma",timeToComplete:"P18M",applicationDeadline:"2024-12-31",provider:{"@type":"EducationalOrganization",name:l}}]},subOrganization:[{"@type":"MedicalBusiness",name:"CCTCMA Student Clinic",description:"Traditional Chinese Medicine clinic providing supervised student treatments",address:{"@type":"PostalAddress",streetAddress:"4014 Macleod Trail South",addressLocality:"Calgary",addressRegion:"Alberta",postalCode:"T2G 2R7",addressCountry:"CA"},telephone:"+1-403-287-8688",medicalSpecialty:["Traditional Chinese Medicine","Acupuncture","Massage Therapy","Herbal Medicine"]}],areaServed:{"@type":"AdministrativeArea",name:"Alberta",containedInPlace:{"@type":"Country",name:"Canada"}},knowsAbout:["Traditional Chinese Medicine","Acupuncture","Massage Therapy","Herbal Medicine","TCM Education","Alternative Medicine","Holistic Healthcare"],memberOf:[{"@type":"Organization",name:"Canadian Association of Traditional Chinese Medicine Schools"}]},v={"@context":"https://schema.org","@type":["MedicalBusiness","HealthAndBeautyBusiness"],name:"CCTCMA Student Clinic",description:"Traditional Chinese Medicine and Acupuncture treatments by supervised students under professional guidance",url:`${window.location.origin}/clinic`,parentOrganization:{"@type":"EducationalOrganization",name:l},address:{"@type":"PostalAddress",streetAddress:"4014 Macleod Trail South",addressLocality:"Calgary",addressRegion:"Alberta",postalCode:"T2G 2R7",addressCountry:"CA"},geo:{"@type":"GeoCoordinates",latitude:51.0158,longitude:-114.0847},telephone:"+1-403-287-8688",email:"[email protected]",openingHours:["Mo-Fr 09:30-17:30"],priceRange:"$",paymentAccepted:["Cash","Credit Card","Debit Card","Interac"],currenciesAccepted:"CAD",hasMap:"https://maps.google.com/?q=4014+Macleod+Trail+South,+Calgary,+AB",medicalSpecialty:["Traditional Chinese Medicine","Acupu
824ncture","Massage Therapy","Herbal Medicine","Cupping Therapy","Moxibustion"],acceptsReservations:!0,amenityFeature:[{"@type":"LocationFeatureSpecification",name:"Wheelchair Accessible",value:!0},{"@type":"LocationFeatureSpecification",name:"Parking Available",value:!0},{"@type":"LocationFeatureSpecification",name:"Multilingual Staff",value:!0}],potentialAction:{"@type":"ReserveAction",target:{"@type":"EntryPoint",urlTemplate:`${window.location.origin}/clinic/book`},result:{"@type":"Reservation",name:"TCM Treatment Appointment"}}},C={"@context":"https://schema.org","@type":"FAQPage",mainEntity:[{"@type":"Question",name:"What is Calgary College of Traditional Chinese Medicine and Acupuncture (CCTCMA)?",acceptedAnswer:{"@type":"Answer",text:"CCTCMA is a leading Traditional Chinese Medicine college in Calgary, established in 2003. We offer accredited programs in Acupuncture, Traditional Chinese Medicine, and Massage Therapy, along with professional clinic services."}},{"@type":"Question",name:"What programs does Calgary College of Traditional Chinese Medicine and Acupuncture offer?",acceptedAnswer:{"@type":"Answer",text:"We offer three comprehensive programs: 2200-hour Massage Therapy Diploma, 3-year Acupuncture Diploma, and 4-year Doctor of Traditional Chinese Medicine Diploma, all conducted in English with bilingual support."}},{"@type":"Question",name:"How long are the TCM programs at CCTCMA?",acceptedAnswer:{"@type":"Answer",text:"Our programs range from 18 months (2200 hours) for Massage Therapy to 4 years for the Traditional Chinese Medicine program. The Acupuncture program takes 3 years to complete."}},{"@type":"Question",name:"Is CCTCMA accredited and recognized?",acceptedAnswer:{"@type":"Answer",text:"Yes, CCTCMA is accredited by PCTIA and recognized by the College of Acupuncturists of Alberta (CAA), College of Massage Therapists of Alberta (CMTA), and other professional bodies. We are also a Designated Learning Institution (DLI) for international students."}},{"@type":"Question",name:"Does CCTCMA offer clinical services to the public?",acceptedAnswer:{"@type":"Answer",text:"Yes, our student clinic offers affordable Traditional Chinese Medicine treatments including acupuncture, massage therapy, and herbal consultations under professional supervision at 4014 Macleod Trail South, Calgary."}},{"@type":"Question",name:"Where is CCTCMA located in Calgary?",acceptedAnswer:{"@type":"Answer",text:"CCTCMA is located at 4014 Macleod Trail South, Calgary, Alberta T2G 2R7. We provide convenient access with parking available and wheelchair accessibility."}},{"@type":"Question",name:"What are the admission requirements for CCTCMA programs?",acceptedAnswer:{"@type":"Answer",text:"Admission requirements vary by program. Generally, you need a high school diploma or equivalent. Some programs may require additional prerequisites. Contact us at 403-287-8688 for specific program requirements."}}]},f={"@context":"https://schema.org","@type":"Course",name:"Traditional Chinese Medicine Programs",description:"Comprehensive TCM education including Massage Therapy, Acupuncture, and Traditional Chinese Medicine programs with hands-on clinical training",provider:{"@type":"EducationalOrganization",name:l,url:"https://cctcma.com",address:{"@type":"PostalAddress",streetAddress:"4014 Macleod Trail South",addressLocality:"Calgary",addressRegion:"Alberta",postalCode:"T2G 2R7",addressCountry:"CA"}},hasCourseInstance:[{"@type":"CourseInstance",name:"2200 Hour Massage Therapy Diploma",courseMode:["In-person","Blended"],duration:"P18M",startDate:"2024-09-01",inLanguage:["en","zh"],location:{"@type":"Place",name:"CCTCMA Campus",address:{"@type":"PostalAddress",streetAddress:"4014 Macleod Trail South",addressLocality:"Calgary",addressRegion:"Alberta",postalCode:"T2G 2R7",addressCountry:"CA"}},offers:{"@type":"Offer",category:"education",priceCurrency:"CAD",availability:"InStock"}},{"@type":"CourseInstance",name:"Acupuncture Diploma Program",courseMode:["In-person","Blended"],duration:"P3Y",startDate:"2024-09-01",inLanguage:["en","zh"],location:{"@type":"Place",name:"CCTCMA Campus",address:{"@type":"PostalAddress",streetAddress:"4014 Macleod Trail South",addressLocality:"Calgary",addressRegion:"Alberta",postalCode:"T2G 2R7",addressCountry:"CA"}},offers:{"@type":"Offer",category:"education",priceCurrency:"CAD",availability:"InStock"}},{"@type":"CourseInstance",name:"Doctor of Traditional Chinese Medicine Program",courseMode:["In-person","Blended"],duration:"P4Y",startDate:"2024-09-01",inLanguage:["en","zh"],location:{"@type":"Place",name:"CCTCMA Campus",address:{"@type":"PostalAddress",streetAddress:"4014 Macleod Trail South",addressLocality:"Calgary",addressRegion:"Alberta",postalCode:"T2G 2R7",addressCountry:"CA"}},offers:{"@type":"Offer",category:"education",priceCurrency:"CAD",availability:"InStock"}}]},b={"@context":"https://schema.org","@type":"WebSite",name:l,alternateName:"CCTCMA",url:"https://cctcma.com",description:p,publisher:{"@type":"EducationalOrganization",name:l},potentialAction:{"@type":"SearchAction",target:{"@type":"EntryPoint",urlTemplate:"https://cctcma.com/search?q={search_term_string}"},"query-input":"required name=search_term_string"},inLanguage:["en","zh"]};return t.jsxs(Oe,{children:[t.jsx("title",{children:d}),t.jsx("meta",{name:"description",content:p}),t.jsx("meta",{name:"keywords",content:o("seo.keywords")}),t.jsx("link",{rel:"canonical",href:u}),t.jsx("html",{lang:c.language}),t.jsx("meta",{property:"og:locale",content:c.language==="zh"?"zh_CN":"en_CA"}),t.jsx("meta",{property:"og:type",content:a}),t.jsx("meta",{property:"og:title",content:d}),t.jsx("meta",{property:"og:description",content:p}),t.jsx("meta",{property:"og:image",content:h}),t.jsx("meta",{property:"og:url",content:m}),t.jsx("meta",{property:"og:site_name",content:l}),t.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),t.jsx("meta",{name:"twitter:title",content:d}),t.jsx("meta",{name:"twitter:description",content:p}),t.jsx("meta",{name:"twitter:image",content:h}),t.jsx("meta",{name:"robots",content:"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"}),t.jsx("meta",{name:"googlebot",content:"index, follow"}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify(x)}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify(v)}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify(C)}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify(f)}),t.jsx("script",{type:"application/ld+json",children:JSON.stringify(b)}),s&&t.jsx("script",{type:"application/ld+json",children:JSON.stringify(s)})]})}const qx=()=>{const{t:e}=V();return ie(),t.jsxs(t.Fragment,{children:[t.jsx(Vl,{title:"What is Pan-Canadian National Exam",description:"Learn about the Pan-Canadian National Examinations for acupuncture and TCM practitioners. Understand the requirements and preparation process.",url:"https://cctcma.com/exam/what-is-pan-canadian-exam"}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-secondary-50 via-white to-accent-50",children:[t.jsx(re,{title:e("panCanadianExam.hero.title"),subtitle:e("panCanadianExam.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsx("div",{className:"max-w-screen-xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12",children:[t.jsxs("div",{className:"mb-12",children:[t.jsx(g,{contentKey:"panCanadianExam.overview.title",translationKey:"panCanadianExam.overview.title",className:"text-3xl font-bold text-gray-900 mb-6",children:e("panCanadianExam.overview.title")}),t.jsx("div",{className:"bg-secondary-50 border-l-4 border-secondary-500 p-6 mb-8",children:t.jsx("p",{className:"text-lg leading-relaxed text-gray-800",children:e("panCanadianExam.overview.description")})}),t.jsx("p",{className:"text-gray-700 leading-relaxed mb-6",children:e("panCanadianExam.overview.content")})]}),t.jsxs("div",{className:"mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-6",children:e("panCanadianExam.examComponents.title")}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8",children:[t.jsxs("div",{className:"bg-gradient-to-br from-secondary-50 to-secondary-100 rounded-xl p-6",children:[t.jsx("h4",{className:"text-xl font-semibold text-gray-900 mb-4",children:e("panCanadianExam.examComponents.written.title")}),t.jsx("ul",{className:"space-y-2 text-gray-700",children:e("panCanadianExam.examComponents.written.items",{returnObjects:!0}).map((n,a)=>t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-secondary-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx("span",{children:n})]},a))})]}),t.jsxs("div",{className:"bg-gradient-to-br from-accent-50 to-accent-100 rounded-xl p-6",children:[t.jsx("h4",{className:"text-xl font-semibold text-gray-900 mb-4",children:e("panCanadianExam.examComponents.practical.title")}),t.jsx("ul",{className:"space-y-2 text-gray-700",children:e("panCanadianExam.examComponents.practical.items",{returnObjects:!0}).map((n,a)=>t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-2 h-2 bg-accent-500 rounded-full mt-2 mr-3 flex-shrink-0"}),t.jsx("span",{children:n})]},a))})]})]})]}),t.jsxs("div",{className:"mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-6",children:e("panCanadianExam.examStations.title")}),t.jsxs("div",{className:"space-y-6",children:[t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-6",children:[t.jsxs("h4",{className:"text-lg font-semibold text-gray-900 mb-3 flex items-center",children:[t.jsx("span",{className:"w-8 h-8 bg-secondary-100 rounded-full flex items-center justify-center mr-3 text-secondary-600 font-bold",children:"1"}),e("panCanadianExam.examStations.safety.title")]}),t.jsx("p",{className:"text-gray-700",children:e("panCanadianExam.examStations.safety.description")})]}),t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-6",children:[t.jsxs("h4",{className:"text-lg font-semibold text-gray-900 mb-3 flex items-center",children:[t.jsx("span",{className:"w-8 h-8 bg-secondary-100 rounded-full flex items-center justify-center mr-3 text-secondary-600 font-bold",children:"2"}),e("panCanadianExam.examStations.modalities.title")]}),t.jsx("p",{className:"text-gray-700",children:e("panCanadianExam.examStations.modalities.description")})]}),t.jsxs("div",{className:"bg-white border border-gray-200 rounded-xl p-6",children:[t.jsxs("h4",{className:"text-lg font-semibold text-gray-900 mb-3 flex items-center",children:[t.jsx("span",{className:"w-8 h-8 bg-secondary-100 rounded-full flex items-center justify-center mr-3 text-secondary-600 font-bold",children:"3"}),e("panCanadianExam.examStations.points.title")]}),t.jsx("p",{className:"text-gray-700",children:e("panCanadianExam.examStations.points.description")})]})]})]}),t.jsxs("div",{className:"mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-6",children:e("panCanadianExam.eligibility.title")}),t.jsx("div",{className:"bg-gray-50 rounded-xl p-8",children:t.jsxs("ul",{className:"space-y-4",children:[t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-secondary-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx("span",{className:"font-semibold text-gray-900",children:e("panCanadianExam.eligibility.education.title")}),t.jsx("span",{className:"text-gray-700 ml-2",children:e("panCanadianExam.eligibility.education.description")})]})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-secondary-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx("span",{className:"font-semibold text-gray-900",children:e("panCanadianExam.eligibility.clinicalHours.title")}),t.jsx("span",{className:"text-gray-700 ml-2",children:e("panCanadianExam.eligibility.clinicalHours.description")})]})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-secondary-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx("span",{className:"font-semibold text-gray-900",children:e("panCanadianExam.eligibility.application.title")}),t.jsx("span",{className:"text-gray-700 ml-2",children:e("panCanadianExam.eligibility.application.description")})]})]}),t.jsxs("li",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-secondary-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx("span",{className:"font-semibold text-gray-900",children:e("panCanadianExam.eligibility.fees.title")}),t.jsx("span",{className:"text-gray-700 ml-2",children:e("panCanadianExam.eligibility.fees.description")})]})]})]})})]}),t.jsxs("div",{className:"mb-12",children:[t.jsx("h3",{className:"text-2xl font-bold text-gray-900 mb-6",children:e("panCanadianExam.recognition.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed mb-6",children:e("panCanadianExam.recognition.description")}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[t.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-4",children:[t.jsx("h4",{className:"font-semibold text-gray-900 mb-2",children:e("panCanadianExam.recognition.provinces.alberta.name")}
824),t.jsx("p",{className:"text-gray-600 text-sm",children:e("panCanadianExam.recognition.provinces.alberta.body")})]}),t.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-4",children:[t.jsx("h4",{className:"font-semibold text-gray-900 mb-2",children:e("panCanadianExam.recognition.provinces.bc.name")}),t.jsx("p",{className:"text-gray-600 text-sm",children:e("panCanadianExam.recognition.provinces.bc.body")})]}),t.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-4",children:[t.jsx("h4",{className:"font-semibold text-gray-900 mb-2",children:e("panCanadianExam.recognition.provinces.ontario.name")}),t.jsx("p",{className:"text-gray-600 text-sm",children:e("panCanadianExam.recognition.provinces.ontario.body")})]}),t.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-4",children:[t.jsx("h4",{className:"font-semibold text-gray-900 mb-2",children:e("panCanadianExam.recognition.provinces.quebec.name")}),t.jsx("p",{className:"text-gray-600 text-sm",children:e("panCanadianExam.recognition.provinces.quebec.body")})]})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-secondary-600 to-secondary-700 rounded-xl p-8 text-white text-center",children:[t.jsx("h3",{className:"text-2xl font-bold mb-4",children:e("panCanadianExam.cta.title")}),t.jsx("p",{className:"text-secondary-100 mb-6",children:e("panCanadianExam.cta.description")}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("p",{children:t.jsx("span",{className:"font-semibold",children:e("panCanadianExam.cta.learnMore")})}),t.jsx("p",{children:"📞 (403) 287-8688"}),t.jsx("p",{children:"✉️ [email protected]"})]})]})]})})})]})]})},Bx=()=>{const{t:e}=V();ie();const n=e("exam.cctcmaSupport.performanceData",{returnObjects:!0});return t.jsxs(t.Fragment,{children:[t.jsx(Vl,{title:"CCTCMA's Support in Achieving Success",description:"Learn about CCTCMA's comprehensive support system for Pan-Canadian Examination success. Our students achieve outstanding results with our preparation programs.",url:"https://cctcma.com/exam/cctcma-support"}),t.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-secondary-50 via-white to-accent-50",children:[t.jsx(re,{title:e("cctcmaSupport.hero.title"),subtitle:e("cctcmaSupport.hero.subtitle")}),t.jsx("section",{className:"py-16",children:t.jsxs("div",{className:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8",children:[t.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12 mb-12",children:[t.jsx(g,{contentKey:"cctcma-support.intro.title",translationKey:"cctcmaSupport.intro.title",className:"text-3xl font-bold text-gray-900 mb-6 text-center",children:e("cctcmaSupport.intro.title")}),t.jsx("div",{className:"bg-secondary-50 border-l-4 border-secondary-500 p-6 mb-8",children:t.jsx(g,{contentKey:"cctcma-support.intro.highlight",translationKey:"cctcmaSupport.intro.highlight",className:"text-lg leading-relaxed text-gray-800",multiline:!0,children:e("cctcmaSupport.intro.highlight")})}),t.jsx(g,{contentKey:"cctcma-support.intro.description",translationKey:"cctcmaSupport.intro.description",className:"text-gray-700 leading-relaxed",multiline:!0,children:e("cctcmaSupport.intro.description")})]}),t.jsxs("div",{className:"bg-gradient-to-r from-green-50 to-emerald-50 rounded-2xl p-8 md:p-12 mb-12",children:[t.jsx(g,{contentKey:"cctcma-support.results.title",translationKey:"cctcmaSupport.results.title",className:"text-3xl font-bold text-gray-900 mb-8 text-center",children:e("cctcmaSupport.results.title")}),t.jsx(g,{contentKey:"cctcma-support.results.description",translationKey:"cctcmaSupport.results.description",className:"text-lg text-gray-700 text-center mb-8",multiline:!0,children:e("cctcmaSupport.results.description")}),t.jsxs("div",{className:"bg-white rounded-xl shadow-lg overflow-hidden",children:[t.jsx("div",{className:"bg-gradient-to-r from-secondary-600 to-secondary-700 px-6 py-4",children:t.jsx(g,{contentKey:"cctcma-support.results.table.title",translationKey:"cctcmaSupport.results.table.title",className:"text-xl font-bold text-white text-center",children:e("cctcmaSupport.results.table.title")})}),t.jsx("div",{className:"p-6",children:t.jsx("div",{className:"grid md:grid-cols-2 gap-6",children:n.map((a,i)=>t.jsxs("div",{className:"flex items-center justify-between p-4 bg-gray-50 rounded-lg",children:[t.jsx(g,{contentKey:`cctcma-support.results.table.${i}.category`,translationKey:`cctcmaSupport.results.table.${i}.category`,className:"font-semibold text-gray-900",children:e(`cctcmaSupport.results.table.${i}.category`)}),t.jsx(g,{contentKey:`cctcma-support.results.table.${i}.rate`,translationKey:`cctcmaSupport.results.table.${i}.rate`,className:"text-2xl font-bold text-cyan-600",children:e(`cctcmaSupport.results.table.${i}.rate`)})]},i))})})]})]}),t.jsxs("div",{className:"grid md:grid-cols-2 gap-8 mb-12",children:[t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8",children:[t.jsx(g,{contentKey:"cctcma-support.refresher.title",translationKey:"cctcmaSupport.refresher.title",className:"text-2xl font-bold text-gray-900 mb-6",children:e("cctcmaSupport.refresher.title")}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-secondary-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"cctcma-support.refresher.timing.title",translationKey:"cctcmaSupport.refresher.timing.title",className:"font-semibold text-gray-900",children:e("cctcmaSupport.refresher.timing.title")}),t.jsx(g,{contentKey:"cctcma-support.refresher.timing.description",translationKey:"cctcmaSupport.refresher.timing.description",className:"text-gray-700",multiline:!0,children:e("cctcmaSupport.refresher.timing.description")})]})]}),t.jsxs("div",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-secondary-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"cctcma-support.refresher.content.title",translationKey:"cctcmaSupport.refresher.content.title",className:"font-semibold text-gray-900",children:e("cctcmaSupport.refresher.content.title")}),t.jsx(g,{contentKey:"cctcma-support.refresher.content.description",translationKey:"cctcmaSupport.refresher.content.description",className:"text-gray-700",multiline:!0,children:e("cctcmaSupport.refresher.content.description")})]})]}),t.jsxs("div",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-secondary-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"cctcma-support.refresher.format.title",translationKey:"cctcmaSupport.refresher.format.title",className:"font-semibold text-gray-900",children:e("cctcmaSupport.refresher.format.title")}),t.jsx(g,{contentKey:"cctcma-support.refresher.format.description",translationKey:"cctcmaSupport.refresher.format.description",className:"text-gray-700",multiline:!0,children:e("cctcmaSupport.refresher.format.description")})]})]})]})]}),t.jsxs("div",{className:"bg-white rounded-xl shadow-lg p-8",children:[t.jsx(g,{contentKey:"cctcma-support.resources.title",translationKey:"cctcmaSupport.resources.title",className:"text-2xl font-bold text-gray-900 mb-6",children:e("cctcmaSupport.resources.title")}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-accent-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"cctcma-support.resources.materials.title",translationKey:"cctcmaSupport.resources.materials.title",className:"font-semibold text-gray-900",children:e("cctcmaSupport.resources.materials.title")}),t.jsx(g,{contentKey:"cctcma-support.resources.materials.description",translationKey:"cctcmaSupport.resources.materials.description",className:"text-gray-700",multiline:!0,children:e("cctcmaSupport.resources.materials.description")})]})]}),t.jsxs("div",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-accent-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"cctcma-support.resources.faculty.title",translationKey:"cctcmaSupport.resources.faculty.title",className:"font-semibold text-gray-900",children:e("cctcmaSupport.resources.faculty.title")}),t.jsx(g,{contentKey:"cctcma-support.resources.faculty.description",translationKey:"cctcmaSupport.resources.faculty.description",className:"text-gray-700",multiline:!0,children:e("cctcmaSupport.resources.faculty.description")})]})]}),t.jsxs("div",{className:"flex items-start",children:[t.jsx("div",{className:"w-6 h-6 bg-accent-500 rounded-full flex items-center justify-center mr-4 mt-1",children:t.jsx("span",{className:"text-white text-sm",children:"✓"})}),t.jsxs("div",{children:[t.jsx(g,{contentKey:"cctcma-support.resources.mock.title",translationKey:"cctcmaSupport.resources.mock.title",className:"font-semibold text-gray-900",children:e("cctcmaSupport.resources.mock.title")}),t.jsx(g,{contentKey:"cctcma-support.resources.mock.description",translationKey:"cctcmaSupport.resources.mock.description",className:"text-gray-700",multiline:!0,children:e("cctcmaSupport.resources.mock.description")})]})]})]})]})]}),t.jsxs("div",{className:"bg-white rounded-2xl shadow-xl p-8 md:p-12 mb-12",children:[t.jsx(g,{contentKey:"cctcma-support.experience.title",translationKey:"cctcmaSupport.experience.title",className:"text-3xl font-bold text-gray-900 mb-8 text-center",children:e("cctcmaSupport.experience.title")}),t.jsxs("div",{className:"grid md:grid-cols-3 gap-8",children:[t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-16 h-16 bg-secondary-100 rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsx("span",{className:"text-3xl font-bold text-secondary-600",children:"20+"})}),t.jsx(g,{contentKey:"cctcma-support.experience.years.title",translationKey:"cctcmaSupport.experience.years.title",className:"text-lg font-semibold text-gray-900 mb-2",children:e("cctcmaSupport.experience.years.title")}),t.jsx(g,{contentKey:"cctcma-support.experience.years.description",translationKey:"cctcmaSupport.experience.years.description",className:"text-gray-600",multiline:!0,children:e("cctcmaSupport.experience.years.description")})]}),t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-16 h-16 bg-accent-100 rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsx("span",{className:"text-3xl font-bold text-accent-600",children:"100%"})}),t.jsx(g,{contentKey:"cctcma-support.experience.success.title",translationKey:"cctcmaSupport.experience.success.title",className:"text-lg font-semibold text-gray-900 mb-2",children:e("cctcmaSupport.experience.success.title")}),t.jsx(g,{contentKey:"cctcma-support.experience.success.description",translationKey:"cctcmaSupport.experience.success.description",className:"text-gray-600",multiline:!0,children:e("cctcmaSupport.experience.success.description")})]}),t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4",children:t.jsx("span",{className:"text-3xl",children:"🎓"})}),t.jsx(g,{contentKey:"cctcma-support.experience.appreciation.title",translationKey:"cctcmaSupport.experience.appreciation.title",className:"text-lg font-semibold text-gray-900 mb-2",children:e("cctcmaSupport.experience.appreciation.title")}),t.jsx(g,{contentKey:"cctcma-support.experience.appreciation.description",translationKey:"cctcmaSupport.experience.appreciation.description",className:"text-gray-600",multiline:!0,children:e("cctcmaSupport.experience.appreciation.description")})]})]})]}),t.jsxs("div",{className:"bg-gradient-to-r from-primary-50 to-secondary-50 rounded-2xl p-8 md:p-12 mb-12",children:[t.jsx(g,{contentKey:"cctcma-support.testimonials.title",translationKey:"cctcmaSupport.testimonials.title",className:"text-3xl font-bold text-gray-900 mb-8 text-center",children:e("cctcmaSupport.testimonials.title")}),t.jsx("div",{className:"bg-white rounded-xl p-6 md:p-8 shadow-lg",children:t.jsxs("div",{className:"flex flex-col md:flex-row items-center gap-4",children:[t.jsx("div",{className:"md:flex-[2] space-y-8",children:t.jsxs("blockquote",{className:"bg-white rounded-xl p-0 shadow-none",children:[t.jsx(g,{contentKey:"cctcma-support.testimonials.quote",translationKey:"cctcmaSupport.testimonials.quote",className:"text-gray-700 italic mb-4",multiline:!0,children:e("cctcmaSupport.testimonials.quote")}),t.jsx("footer",{className:"text-gray-600",children:t.jsx(g,{contentKey:"cctcma-support.testimonials.author",translationKey:"cctcmaSupport.testimonials.author",className:"",children:e("cctcmaSupport.testimonials.author")})})]})}),t.jsx("div",{className:"md:flex-1 flex justify-end",children:t.jsx("img",{src:"/images/Changes_Requested_Oct29_2025/student success stories.png",alt:"Student Success Stories",className:"rounded-xl max-w-full h-auto w-32 md:w-64"})})]})})]}),t.jsxs("div",{className:"bg-gradient-to-r from-secondary-600 to-secondary-700 rounded-2xl p-8 text-white text-center",children:[t.jsx(g,{contentKey:"cctcma-support.cta.title",translationKey:"cctcmaSupport.cta.title",className:"text-2xl font-bold mb-4",children:t.jsx("h2",{className:"text-2xl font-bold mb-4",children:e("cctcmaSupport.cta.title")})}),t.jsx(g,{contentKey:"cctcma-support.cta.description",translationKey:"cctcmaSupport.cta.description",className:"text-secondary-100 mb-6 max-w-2xl mx-auto",multiline:!0,children:t.jsx("p",{className:"text-secondary-100 mb-6 max-w-2xl mx-auto",children:e("cctcmaSupport.cta.description")})}),t.jsxs("div",{className:"space-y-2",children:[t.jsx(g,{contentKey:"cctcma-support.cta.contactTitle",translationKey:"cctcmaSupport.cta.contactTitle",className:"font-semibold",children:t.jsx("p",{children:t.jsx("span",{className:"font-semibold",children:e("cctcmaSupport.cta.contactTitle")})})}),t.jsx("p",{children:"📞 (403) 287-8688"}),t.jsx("p",{children:"✉️ [email protected]"}),t.jsx("p",{children:"📍 4014 Macleod Trail South, Calgary, AB"})]})]})]})})]})]})};function $x({items:e,className:n=""}){const a=gt(),{t:i}=V(),s=e||(()=>
824{const c=a.pathname.split("/").filter(Boolean),l=[{label:i("nav.home"),href:"/",translationKey:"nav.home"}];let d="";return c.forEach((p,u)=>{d+=`/${p}`;const h={about:"nav.about",programs:"nav.programs",admission:"nav.admission",clinic:"nav.clinic",contact:"nav.contact",exam:"nav.exam",massage:"nav.programs.massage",acupuncture:"nav.programs.acupuncture",tcm:"nav.programs.tcm",apply:"nav.admission.apply",book:"nav.clinic.book"}[p],x=h?i(h):p.charAt(0).toUpperCase()+p.slice(1);l.push({label:x,href:u===c.length-1?void 0:d,translationKey:h})}),l})(),o={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:s.map((c,l)=>{const d=c.href?`${window.location.origin}${c.href}`:window.location.href;return{"@type":"ListItem",position:l+1,name:c.label,item:d}})};return s.length<=1?null:t.jsxs(t.Fragment,{children:[t.jsx(Oe,{children:t.jsx("script",{type:"application/ld+json",children:JSON.stringify(o)})}),t.jsx("nav",{"aria-label":"Breadcrumb",className:`bg-gray-50 border-b border-gray-200 ${n}`,children:t.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:t.jsx("ol",{className:"flex items-center space-x-2 py-3 text-sm",children:s.map((c,l)=>t.jsxs("li",{className:"flex items-center",children:[l>0&&t.jsx("svg",{className:"flex-shrink-0 h-4 w-4 text-gray-400 mx-2",fill:"
824currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})}),c.href?t.jsx($,{to:c.href,className:"text-gray-600 hover:text-red-600 transition-colors duration-200 font-medium",children:c.label}):t.jsx("span",{className:"text-gray-900 font-semibold","aria-current":"page",children:c.label})]},l))})})})]})}function Ux(){const{t:e}=V();return t.jsxs(t.Fragment,{children:[t.jsx(Vl,{title:e("privacy.title"),description:e("privacy.description"),url:"https://cctcma.com/privacy-policy"}),t.jsx($x,{items:[{label:e("nav.home"),href:"/"},{label:e("privacy.title"),href:"/privacy-policy"}]}),t.jsx("div",{className:"min-h-screen bg-gradient-to-b from-primary-50 to-white py-12 px-4 sm:px-6 lg:px-8",children:t.jsxs("div",{className:"max-w-4xl mx-auto bg-white rounded-2xl shadow-healing-soft p-8 md:p-12",children:[t.jsxs("div",{className:"text-center mb-12",children:[t.jsx("h1",{className:"text-4xl md:text-5xl font-bold text-primary-700 mb-4",children:e("privacy.title")}),t.jsxs("p",{className:"text-lg text-gray-600",children:[e("privacy.lastUpdated"),": ",e("privacy.updateDate")]})]}),t.jsxs("div",{className:"prose prose-lg max-w-none",children:[t.jsxs("section",{className:"mb-10",children:[t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4",children:e("privacy.intro.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:e("privacy.intro.content")})]}),t.jsxs("section",{className:"mb-10",children:[t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4",children:e("privacy.collection.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:e("privacy.collection.intro")}),t.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:e("privacy.collection.technologies")}),t.jsxs("div",{className:"bg-primary-50 p-6 rounded-lg mb-6",children:[t.jsx("h3",{className:"text-xl font-semibold text-primary-800 mb-3",children:e("privacy.collection.cookies.title")}),t.jsxs("ul",{className:"list-disc list-inside space-y-2 text-gray-700",children:[t.jsx("li",{children:e("privacy.collection.cookies.item1")}),t.jsxs("li",{children:[e("privacy.collection.cookies.item2"),t.jsx("a",{href:"http://www.aboutcookies.org",target:"_blank",rel:"noopener noreferrer",className:"text-primary-600 hover:text-primary-700 underline ml-1",children:"http://www.aboutcookies.org"})]})]})]}),t.jsxs("div",{className:"bg-primary-50 p-6 rounded-lg mb-6",children:[t.jsx("h3",{className:"text-xl font-semibold text-primary-800 mb-3",children:e("privacy.collection.logFiles.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed",children:e("privacy.collection.logFiles.content")})]}),t.jsxs("div",{className:"bg-primary-50 p-6 rounded-lg",children:[t.jsx("h3",{className:"text-xl font-semibold text-primary-800 mb-3",children:e("privacy.collection.webBeacons.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed",children:e("privacy.collection.webBeacons.content")})]})]}),t.jsxs("section",{className:"mb-10",children:[t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4",children:e("privacy.usage.title")}),t.jsxs("ul",{className:"list-disc list-inside space-y-3 text-gray-700",children:[t.jsx("li",{children:e("privacy.usage.item1")}),t.jsx("li",{children:e("privacy.usage.item2")}),t.jsx("li",{children:e("privacy.usage.item3")}),t.jsx("li",{children:e("privacy.usage.item4")}),t.jsx("li",{children:e("privacy.usage.item5")})]})]}),t.jsxs("section",{className:"mb-10",children:[t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4",children:e("privacy.security.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed",children:e("privacy.security.content")})]}),t.jsxs("section",{className:"mb-10",children:[t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4",children:e("privacy.thirdParty.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:e("privacy.thirdParty.content")})]}),t.jsxs("section",{className:"mb-10",children:[t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4",children:e("privacy.rights.title")}),t.jsxs("ul",{className:"list-disc list-inside space-y-3 text-gray-700",children:[t.jsx("li",{children:e("privacy.rights.item1")}),t.jsx("li",{children:e("privacy.rights.item2")}),t.jsx("li",{children:e("privacy.rights.item3")}),t.jsx("li",{children:e("privacy.rights.item4")})]})]}),t.jsxs("section",{className:"mb-10",children:[t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4",children:e("privacy.children.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed",children:e("privacy.children.content")})]}),t.jsxs("section",{className:"mb-10",children:[t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4",children:e("privacy.changes.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed",children:e("privacy.changes.content")})]}),t.jsxs("section",{className:"mb-10 bg-primary-100 p-8 rounded-lg",children:[t.jsx("h2",{className:"text-2xl font-bold text-primary-700 mb-4",children:e("privacy.contact.title")}),t.jsx("p",{className:"text-gray-700 leading-relaxed mb-4",children:e("privacy.contact.content")}),t.jsxs("div",{className:"space-y-2 text-gray-700",children:[t.jsxs("p",{children:[t.jsxs("strong",{className:"text-primary-700",children:[e("privacy.contact.organization"),":"]})," Calgary College of Traditional Chinese Medicine and Acupuncture"]}),t.jsxs("p",{children:[t.jsxs("strong",{className:"text-primary-700",children:[e("privacy.contact.address"),":"]})," 1910 20 Ave NW, Calgary, AB T2M 1H5"]}),t.jsxs("p",{children:[t.jsxs("strong",{className:"text-primary-700",children:[e("privacy.contact.phone"),":"]})," (403) 289-9691"]}),t.jsxs("p",{children:[t.jsxs("strong",{className:"text-primary-700",children:[e("privacy.contact.email"),":"]})," ",t.jsx("a",{href:"mailto:[email protected]",className:"text-primary-600 hover:text-primary-700 underline",children:"[email protected]"})]})]})]})]})]})})]})}function Wx(){const{t:e}=V();return t.jsxs(t.Fragment,{children:[t.jsxs(Oe,{children:[t.jsx("title",{children:"Page Not Found - Calgary College of Traditional Chinese Medicine and Acupuncture"}),t.jsx("meta",{name:"description",content:"The page you are looking for could not be found."}),t.jsx("meta",{name:"robots",content:"noindex, nofollow"}),t.jsx("link",{rel:"canonical",href:"https://cctcma.com/404"})]}),t.jsx("div",{className:"min-h-screen bg-gradient-to-br from-red-50 to-white flex items-center justify-center px-4",children:t.jsxs("div",{className:"max-w-2xl w-full text-center",children:[t.jsxs("div",{className:"mb-8",children:[t.jsx("h1",{className:"text-9xl font-bold text-red-600 mb-4",children:"404"}),t.jsx("h2",{className:"text-3xl font-semibold text-gray-800 mb
824-4",children:e("error.notFound.title","Page Not Found")}),t.jsx("p",{className:"text-lg text-gray-600 mb-8",children:e("error.notFound.description","The page you are looking for could not be found. It may have been moved or deleted.")})]}),t.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[t.jsx($,{to:"/",className:"inline-flex items-center justify-center px-6 py-3 bg-red-600 text-white font-medium rounded-lg hover:bg-red-700 transition-colors duration-200",children:e("error.notFound.goHome","Go to Homepage")}),t.jsx("button",{onClick:()=>window.history.back(),className:"inline-flex items-center justify-center px-6 py-3 bg-gray-200 text-gray-800 font-medium rounded-lg hover:bg-gray-300 transition-colors duration-200",children:e("error.notFound.goBack","Go Back")})]}),t.jsxs("div",{className:"mt-12 pt-8 border-t border-gray-200",children:[t.jsx("p",{className:"text-sm text-gray-500 mb-4",children:e("error.notFound.helpfulLinks","Helpful Links:")}),t.jsxs("div",{className:"flex flex-wrap justify-center gap-4",children:[t.jsx($,{to:"/about-us",className:"text-red-600 hover:text-red-700 text-sm",children:e("nav.about","About")}),t.jsx($,{to:"/academic-programs",className:"text-red-600 hover:text-red-700 text-sm",children:e("nav.programs","Programs")}),t.jsx($,{to:"/admissions",className:"text-red-600 hover:text-red-700 text-sm",children:e("nav.admission","Admissions")}),t.jsx($,{to:"/contact-us",className:"text-red-600 hover:text-red-700 text-sm",children:e("nav.contact","Contact")})]})]})]})})]})}function Vx({selectedSection:e="homepage",onClose:n}){const{getContentBySection:a}=ns(),{getSlides:i,getFeatures:r,getImageUrl:s,getContentValue:o}=fi(),{t:c}=V(),[l,d]=w.useState(0),p=a(e);w.useEffect(()=>{if(e==="homepage"){const y=i("hero_slides");if(y.length>1){const N=setInterval(()=>{d(S=>(S+1)%y.length)},3e3);return()=>clearInterval(N)}}},[e,i]);const u=()=>{n&&n()};return t.jsx("div",{className:"fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4",children:t.jsxs("div",{className:"bg-white rounded-lg shadow-xl max-w-4xl w-full max-h-[90vh] overflow-hidden flex flex-col",children:[t.jsxs("div",{className:"p-4 border-b flex items-center justify-between",children:[t.jsxs("h2",{className:"text-xl font-semibold text-gray-800",children:[c("admin.previewTitle"),": ",e.charAt(0).toUpperCase()+e.slice(1)]}),t.jsx("button",{onClick:u,className:"text-gray-500 hover:text-gray-700",children:t.jsx("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),t.jsx("div",{className:"p-4 overflow-auto flex-1",children:m()}),t.jsx("div",{className:"p-4 border-t flex justify-end",children:t.jsx("button",{onClick:u,className:"px-4 py-2 bg-gray-200 hover:bg-gray-300 text-gray-800 rounded",children:c("admin.close")})})]})});function m(){switch(e){case"homepage":return t.jsx(h,{});case"about":return t.jsx(x,{});case"programs":return t.jsx(v,{});case"clinic":return t.jsx(C,{});case"contact":return t.jsx(f,{});case"admission":return t.jsx(b,{});default:return t.jsx(Gx,{content:p})}}function h(){const N=[{id:1,title:String(c("home.hero.slide1.title")),subtitle:String(c("home.hero.slide1.subtitle")),image:"/images/carousel/welcome-to-cctcma.png",cta:String(c("home.hero.slide1.cta")),ctaLink:"/about"},{id:2,title:String(c("home.hero.slide2.title")),subtitle:String(c("home.hero.slide2.subtitle")),image:"/images/carousel/free-acupuncture.png",cta:String(c("home.hero.slide2.cta")),ctaLink:"/contact#business-hours"},{id:3,title:String(c("home.hero.slide3.title")),subtitle:String(c("home.hero.slide3.subtitle")),image:"/images/carousel/academic-year-submission.png",cta:String(c("home.hero.slide3.cta")),ctaLink:"/programs"}][l],S=o(`hero_slide_${N.id}_title`,N.title),k=o(`hero_slide_${N.id}_subtitle`,N.subtitle),T=s(`hero_slide_${N.id}_image`,N.image);return t.jsxs("div",{className:"overflow-hidden rounded-lg",children:[t.jsxs("div",{className:"relative h-64 bg-cover bg-center",style:{backgroundImage:`url(${T})`},children:[t.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-primary-800/60 via-primary-700/40 to-primary-600/60"}),t.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:t.jsxs("div",{className:"text-center text-white px-4 max-w-md",children:[t.jsx("h1",{className:"text-xl font-bold mb-2",children:S}),t.jsx("p",{className:"text-sm mb-3",children:k}),t.jsx("button",{className:"px-4 py-2 bg-primary-500 text-white rounded-full text-xs font-medium",children:N.cta})]})})]}),t.jsxs("div",{className:"bg-white p-4 mt-4",children:[t.jsx("h2",{className:"text-lg font-bold mb-3",children:"Why Choose Us"}),t.jsx("div",{className:"grid grid-cols-3 gap-2",children:r("why_choose_features").slice(0,3).map((I,A)=>t.jsxs("div",{className:"bg-gray-50 p-2 rounded",children:[t.jsx("div",{className:"w-full h-16 bg-cover bg-center mb-2 rounded",style:{backgroundImage:`url(${I.image})`}}),t.jsx("h3",{className:"text-xs font-semibold",children:c(I.translationKeys.title)}),t.jsx("p",{className:"text-xs text-gray-600 truncate",children:c(I.translationKeys.description)})]},A))})]})]})}function x(){const y=o("about_hero_title",c("about.hero.title")),N=o("about_hero_subtitle",c("about.hero.subtitle")),S=s("about_campus_image","/images/hero-slide2.jpg");return t.jsxs("div",{className:"overflow-hidden rounded-lg",children:[t.jsxs("div",{className:"relative h-40 bg-gradient-to-br from-neutral-900 via-primary-900 to-neutral-800 text-white",children:[t.jsx("img",{src:S,alt:"About",className:"absolute inset-0 w-full h-full object-cover opacity-20"}),t.jsxs("div",{className:"absolute inset-0 flex flex-col justify-center px-4",children:[t.jsx("h1",{className:"text-xl font-bold text-accent-300",children:y}),t.jsx("p",{className:"text-sm text-accent-200 mt-2",children:N})]})]}),t.jsxs("div",{className:"bg-white p-4",children:[t.jsx("h2",{className:"text-lg font-bold mb-2",children:"Overview"}),t.jsxs("p",{className:"text-xs text-gray-700 mb-3",children:[c("about.overview.content").substring(0,150),"..."]}),t.jsx("h2",{className:"text-lg font-bold mb-2",children:"Faculty"}),t.jsx("div",{className:"grid grid-cols-3 gap-2",children:[1,2,3].map(k=>t.jsxs("div",{className:"bg-white rounded p-2 shadow-sm border border-gray-200",children:[t.jsx("div",{className:"w-full h-12 bg-gray-100 rounded-full mb-2 mx-auto"}),t.jsx("p",{className:"text-xs font-medium text-center",children:"Faculty Member"})]},k))})]})]})}function v(){const y=o("programs_hero_title","Our Programs"),N=o("programs_hero_subtitle","Comprehensive Traditional Chinese Medicine Education"),S=s("programs_hero_image","/images/hero-slide1.jpg");return t.jsxs("div",{className:"overflow-hidden rounded-lg",children:[t.jsxs("div",{className:"relative h-40 bg-red-700 text-white",children:[t.jsx("img",{src:S,alt:"Programs",className:"absolute inset-0 w-full h-full object-cover opacity-20"}),t.jsxs("div",{className:"absolute inset-0 flex flex-col justify-center px-4",children:[t.jsx("h1",{className:"text-xl font-bold",children:y}),t.jsx("p",{className:"text-sm mt-2",children:N})]})]}),t.jsx("div",{className:"bg-white p-4",children:t.jsx("div",{className:"grid grid-cols-3 gap-2",children:["TCM","Acupuncture","Massage"].map((k,T)=>t.jsxs("div",{className:"bg-white rounded shadow-sm border border-gray-200 overflow-hidden",children:[t.jsx("div",{className:"w-full h-16 bg-gray-100"}),t.jsxs("div",{className:"p-2",children:[t.jsx("h3",{className:"text-xs font-bold",children:k}),t.jsx("p",{className:"text-xs text-gray-600 mt-1",children:"Program description"})]})]},T))})})]})}function C(){const y=o("clinic_hero_title","Our Clinic Services"),N=o("clinic_hero_subtitle","Professional Traditional Chinese Medicine treatments"),S=s("clinic_hero_image","/images/clinic-tcm.jpg");return t.jsxs("div",{className:"overflow-hidden rounded-lg",children:[t.jsxs("div",{className:"relative h-40 bg-red-700 text-white",children:[t.jsx("img",{src:S,alt:"Clinic",className:"absolute inset-0 w-full h-full object-cover opacity-20"}),t.jsxs("div",{className:"absolute inset-0 flex flex-col justify-center px-4",children:[t.jsx("h1",{className:"text-xl font-bold",children:y}),t.jsx("p",{className:"text-sm mt-2",children:N})]})]}),t.jsxs("div",{className:"bg-white p-4",children:[t.jsx("h2",{className:"text-lg font-bold mb-2",children:"Our Services"}),t.jsx("div",{className:"grid grid-cols-3 gap-2",children:["TCM Consultation","Acupuncture","Massage Therapy"].map((k,T)=>t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:"w-full h-16 bg-gray-100 rounded mb-2"}),t.jsx("h3",{className:"text-xs font-bold",children:k}),t.jsx("p",{className:"text-xs text-gray-600 mt-1",children:"Service description"})]},T))})]})]})}function f(){const y=o("contact_hero_title","Contact Us"),N=o("contact_hero_subtitle","Get in touch with our team");return t.jsxs("div",{className:"overflow-hidden rounded-lg",children:[t.jsx("div",{className:"relative h-40 bg-gradient-to-r from-primary-700 to-secondary-700 text-white",children:t.jsxs("div",{className:"absolute inset-0 flex flex-col justify-center px-4",children:[t.jsx("h1",{className:"text-xl font-bold",children:y}),t.jsx("p",{className:"text-sm mt-2",children:N})]})}),t.jsx("div",{className:"bg-white p-4",children:t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("h3",{className:"text-sm font-bold mb-2",children:"Contact Information"}),t.jsxs("div",{className:"text-xs space-y-1",children:[t.jsx("p",{children:"📞 (403) 286-8788"}),t.jsx("p",{children:"📧 [email protected]"}),t.jsx("p",{children:"📍 Bay 4, 1812 - 4 Street SW, Calgary"})]})]}),t.jsx("div",{className:"bg-gray-100 h-24 rounded",children:t.jsx("div",{className:"w-full h-full flex items-center justify-center text-xs text-gray-500",children:"Map Preview"})})]})})]})}function b(){const y=o("admission_hero_title","Admission"),N=o("admission_hero_subtitle","Join our program"),S=s("admission_hero_image","/images/hero-slide3.jpg");return t.jsxs("div",{className:"overflow-hidden rounded-lg",children:[t.jsxs("div",{className:"relative h-40 bg-primary-700 text-white",children:[t.jsx("img",{src:S,alt:"Admission",className:"absolute inset-0 w-full h-full object-cover opacity-20"}),t.jsxs("div",{className:"absolute inset-0 flex flex-col justify-center px-4",children:[t.jsx("h1",{className:"text-xl font-bold",children:y}),t.jsx("p",{className:"text-sm mt-2",children:N})]})]}),t.jsxs("div",{className:"bg-white p-4",children:[t.jsx("h2",{className:"text-lg font-bold mb-2",children:"Admission Requirements"}),t.jsxs("div",{className:"text-xs space-y-2",children:[t.jsx("p",{children:"• High school diploma or equivalent"}),t.jsx("p",{children:"• English language proficiency"}),t.jsx("p",{children:"• Interview with admissions team"})]}),t.jsxs("div",{className:"mt-4 bg-primary-50 p-3 rounded",children:[t.jsx("h3",{className:"text-sm font-bold text-primary-700",children:"Apply Now"}),t.jsx("p",{className:"text-xs text-gray-700",children:"Start your journey in Traditional Chinese Medicine"})]})]})]})}}function Gx({content:e}){return t.jsxs("div",{className:"p-4",children:[t.jsx("h3",{className:"text-lg font-semibold mb-3",children:"Content Preview"}),t.jsx("div",{className:"space-y-3",children:e.map((n,a)=>t.jsxs("div",{className:"border-b border-gray-100 pb-2 last:border-b-0",children:[t.jsx("div",{className:"text-sm font-medium text-gray-700 mb-1",children:n.label||n.key}),n.type==="image"?t.jsx("img",{src:n.value,alt:n.label,className:"w-full h-24 object-cover rounded"}):t.jsx("div",{className:"text-sm text-gray-600 bg-gray-50 p-2 rounded",children:typeof n.value=="string"?n.value:JSON.stringify(n.value)||"No content"})]},a))})]})}function Jx(){const{t:e}=V(),n=on(),{isEditMode:a,toggleEditMode:i}=rt(),{saveChanges:r,discardChanges:s,hasUnsavedChanges:o,isLoading:c,isSaving:l}=ns(),[d,p]=w.useState(!1);return a?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"fixed top-0 left-0 right-0 bg-gradient-to-r from-primary-600 to-secondary-600 text-white py-2 px-4 z-50 shadow-lg flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center space-x-2",children:[t.jsxs("div",{className:"flex items-center",children:[t.jsxs("span",{className:"relative flex h-3 w-3 mr-2",children:[t.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-cyan-400 opacity-75"}),t.jsx("span",{className:"relative inline-flex rounded-full h-3 w-3 bg-cyan-500"})]}),t.jsx("span",{className:"font-medium",children:"Edit Mode"})]}),t.jsx("span",{className:"text-white/50",children:"-"}),t.jsxs("span",{className:"text-white/90",children:["Editing Page: ",window.location.pathname.replace("/","")||"Home"]})]}),t.jsxs("div",{className:"flex items-center space-x-3",children:[t.jsxs("button",{onClick:()=>p(!0),className:"px-3 py-1 bg-white/20 hover:bg-white/30 rounded text-sm flex items-center",title:"Preview",children:[t.jsxs("svg",{className:"w-4 h-4 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})]}),"Preview"]}),t.jsxs("button",{onClick:s,disabled:!o||c||l,className:`px-3 py-1 rounded text-sm flex items-center ${o&&!c&&!l?"bg-red-500 hover:bg-red-600":"bg-white/10 text-white/50 cursor-not-allowed"}`,title:"Discard",children:[t.jsx("svg",{className:"w-4 h-4 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),"Discard"]}),t.jsx("button",{onClick:r,disabled:!o||c||l,className:`px-3 py-1 rounded text-sm flex items-center ${o&&!c&&!l?"bg-cyan-500 hover:bg-cyan-600":"bg-white/10 text-white/50 cursor-not-allowed"}`,title:"Save",children:l?t.jsxs(t.Fragment,{children:[t.jsxs("svg",{className:"animate-spin -ml-1 mr-2 h-4 w-4 text-white",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Saving..."]}):t.jsxs(t.Fragment,{children:[t.jsx("svg",{className:"w-4 h-4 mr-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}),"Save"]})}),t.jsx("button",{onClick:()=>{o&&!window.confirm("You have unsaved changes. Are you sure you want to exit?")||(i(!1),n(window.location.pathname))},className:"px-3 py-1 bg-white hover:bg-white/90 text-primary-700 rounded text-sm font-medium",title:"Exit",children:"Exit"})]})]}),t.jsx("div",{className:"h-10"}),d&&t.jsx(Vx,{onClose:()=>p(!1)})]}):null}function Yx(){const{pathname:e,hash:n,key:a}=gt();return w.useEffect(()=>{"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual"),n?requestAnimationFrame(()=>{const i=document.getElementById(n.substring(1));i?i.scrollIntoView({block:"start",behavior:"instant"}):window.scrollTo({top:0,left:0})}):window.scrollTo({top:0,left:0})},[e,n,a]),null}const Qx=w.lazy(()=>Hl(()=>import("./GoogleAdsTag-DgFZFBf5.js"),[]).then(e=>({default:e.GoogleAdsTag})));function Zx({children:e}){const{isAuthenticated:n,isLoading:a}=pi(),{t:i}=V();return a?t.jsx("div",{className:"flex items-center justify-center h-screen",children:i("common.loading")}):n?e:t.jsx(i0,{to:"/admin/login",replace:!0})}function Xx(){const{isEditMode:e}=rt();return w.useEffect(()=>(e?document.body.classList.add("edit-mode-active"):document.body.classList.remove("edit-mode-active"),()=>{document.body.classList.remove("edit-mode-active")}),[e]),t.jsxs("div",{className:"min-h-screen flex flex-col bg-white w-full max-w-full overflow-x-hidden",children:[t.jsx(Ky,{}
824),t.jsx(w.Suspense,{fallback:null,children:t.jsx(Qx,{conversionId:"AW-10928431502"})}),t.jsx(Ly,{}),t.jsx(Yx,{}),t.jsx(Jx,{}),t.jsx(qy,{}),t.jsxs(cd,{children:[t.jsx(W,{path:"/admin/login",element:t.jsx(Nx,{})}),t.jsx(W,{path:"/admin/dashboard",element:t.jsx(Zx,{children:t.jsx(Tx,{})})}),t.jsx(W,{path:"/*",element:t.jsxs(t.Fragment,{children:[t.jsx(cy,{}),t.jsx("main",{className:"flex-grow w-full max-w-full overflow-x-hidden",children:t.jsxs(cd,{children:[t.jsx(W,{path:"/",element:t.jsx($y,{})}),t.jsx(W,{path:"/about-us",element:t.jsx(Dd,{})}),t.jsx(W,{path:"/academic-programs",element:t.jsx(Rd,{})}),t.jsx(W,{path:"/academic-programs/:slug",element:t.jsx(Fd,{})}),t.jsx(W,{path:"/admissions",element:t.jsx(Hd,{})}),t.jsx(W,{path:"/admissions/requirements",element:t.jsx(qd,{})}),t.jsx(W,{path:"/admissions/international",element:t.jsx(Bd,{})}),t.jsx(W,{path:"/admissions/online-application",element:t.jsx(Vd,{})}),t.jsx(W,{path:"/admission/fees",element:t.jsx(Gd,{})}),t.jsx(W,{path:"/tcm-clinic",element:t.jsx($d,{})}),t.jsx(W,{path:"/tcm-clinic/prepare-for-appointment",element:t.jsx(Jd,{})}),t.jsx(W,{path:"/contact-us",element:t.jsx(Ud,{})}),t.jsx(W,{path:"/licensing-exam",element:t.jsx(Wd,{})}),t.jsx(W,{path:"/about/presidents-message",element:t.jsx(Ax,{})}),t.jsx(W,{path:"/about/our-faculty",element:t.jsx(Lx,{})}),t.jsx(W,{path:"/about/advisory-committee",element:t.jsx(Ix,{})}),t.jsx(W,{path:"/about/why-choose-cctcma",element:t.jsx(Rx,{})}),t.jsx(W,{path:"/about/faq",element:t.jsx(Ox,{})}),t.jsx(W,{path:"/about/photo-gallery",element:t.jsx(Kx,{})}),t.jsx(W,{path:"/about/career/hiring",element:t.jsx(Fx,{})}),t.jsx(W,{path:"/about/career/job-listing",element:t.jsx(Hx,{})}),t.jsx(W,{path:"/about/college-news",element:t.jsx(zx,{})}),t.jsx(W,{path:"/exam/what-is-pan-canadian-exam",element:t.jsx(qx,{})}),t.jsx(W,{path:"/exam/cctcma-support",element:t.jsx(Bx,{})}),t.jsx(W,{path:"/privacy-policy",element:t.jsx(Ux,{})}),t.jsx(W,{path:"/about",element:t.jsx(Dd,{})}),t.jsx(W,{path:"/programs",element:t.jsx(Rd,{})}),t.jsx(W,{path:"/programs/:id",element:t.jsx(Fd,{})}),t.jsx(W,{path:"/courses/:slug",element:t.jsx(Mx,{})}),t.jsx(W,{path:"/admission",element:t.jsx(Hd,{})}),t.jsx(W,{path:"/admission/requirements",element:t.jsx(qd,{})}),t.jsx(W,{path:"/admission/international",element:t.jsx(Bd,{})}),t.jsx(W,{path:"/admission/apply",element:t.jsx(Vd,{})}),t.jsx(W,{path:"/admissions/fees",element:t.jsx(Gd,{})}),t.jsx(W,{path:"/clinic",element:t.jsx($d,{})}),t.jsx(W,{path:"/clinic/practitioners",element:t.jsx(Jd,{})}),t.jsx(W,{path:"/contact",element:t.jsx(Ud,{})}),t.jsx(W,{path:"/exam",element:t.jsx(Wd,{})}),t.jsx(W,{path:"*",element:t.jsx(Wx,{})})]})}),t.jsx(Py,{})]})})]})]})}function eb(){return t.jsx(kp,{children:t.jsx(dy,{children:t.jsx(Fy,{children:t.jsx(m0,{future:{v7_startTransition:!0,v7_relativeSplatPath:!0},children:t.jsx(Xx,{})})})})})}ts().then(()=>{console.log("✅ Database initialized successfully")}).catch(e=>{console.error("❌ Failed to initialize database:",e)});zs.createRoot(document.getElementById("root")).render(t.jsx(we.StrictMode,{children:t.jsx(eb,{})}));export{zy as a,w as r,gt as u};

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.