템플렛을 가공하고 있는 동안 과실은 일어났다.
Java method "com.liferay.dynamic.data.mapping.model.impl.DDMFormInstanceImpl.getStructure()" threw an exception when invoked on com.liferay.dynamic.data.mapping.model.impl.DDMFormInstanceImpl object "{\"mvccVersion\": 1, \"ctCollectionId\": 0, \"uuid\": \"07fc358f-a3f4-e64f-1bb5-16f62e4aa7f4\", \"formInstanceId\": 290652025, \"groupId\": 20152, \"companyId\": 20116, \"userId\": 39712, \"userName\": \"Steve Solano\", \"versionUserId\": 39712, \"versionUserName\": \"Steve Solano\", \"createDate\": \"Tue May 23 17:53:47 GMT 2017\", \"modifiedDate\": \"Wed Sep 15 14:24:55 GMT 2021\", \"structureId\": 290652021, \"version\": \"1.1\", \"name\": \"<?xml version='1.0' encoding='UTF-8'?><root available-locales='en_US' default-locale='en_US'><Name language-id='en_US'>Bio Contact Form</Name></root>\", \"description\": \"\", \"settings\": \"{'availableLanguageIds':['en_US'],'defaultLanguageId':'en_US','fieldValues':[{'instanceId':'exvV245f','name':'sendEmailNotification','fieldReference':'sendEmailNotification','value':'false'},{'instanceId':'cIFoduxS','name':'emailFromName','fieldReference':'emailFromName','value':''},{'instanceId':'8Ox9AwXJ','name':'redirectURL','fieldReference':'redirectURL','value':''},{'instanceId':'0nhGge5T','name':'workflowDefinition','fieldReference':'workflowDefinition','value':'[\\'\\']'},{'instanceId':'6r83IgG3','name':'emailFromAddress','fieldReference':'emailFromAddress','value':''},{'instanceId':'sGeOtgYC','name':'emailToAddress','fieldReference':'emailToAddress','value':''},{'instanceId':'zM7JwyoB','name':'storageType','fieldReference':'storageType','value':'[\\'json\\']'},{'instanceId':'7Pn4M6Uj','name':'requireCaptcha','fieldReference':'requireCaptcha','value':'true'},{'instanceId':'CHaHtlDN','name':'published','fieldReference':'published','value':'false'},{'instanceId':'gKn9iPxu','name':'emailSubject','fieldReference':'emailSubject','value':''},{'instanceId':'cmmryJph','name':'autosaveEnabled','fieldReference':'autosaveEnabled','value':'true'},{'instanceId':'1JgbW5Zx','name':'requireAuthentication','fieldReference':'requireAuthentication','value':'false'}]}\", \"lastPublishDate\": null}"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign structure = recordset.getStru...  [in template "20116#20152#31814" at line 427, column 9]
----
1<#-- Web content templates are used to lay out the fields defined in a web content structure.  Please use the left panel to quickly add commonly used variables. Autocomplete is also available and can be invoked by typing "${". --> 
2<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() /> 
3<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
4<#assign preview = false/> 
5 
6<#if (themeDisplay.getURLCurrent()?contains("preview_article_content.jsp")) || (themeDisplay.getURLCurrent()?contains("preview_article_content_template.jsp"))> 
7    <#assign preview = true />     
8     
9    <script data-senna-track="permanent" 
10				src="/o/atk-dot-com-theme/js/react/dist/vendor.bundle.js"></script> 
11	 
12	<script data-senna-track="permanent" 
13				src="/o/atk-dot-com-theme/js/react/dist/bundle.js"></script> 
14				 
15	<style data-senna-track="temporary" type="text/css"> 
16	:root { 
17		--container-max-sm: 576px; 
18		--h4-font-size: 22px; 
19		--font-weight-bold: 700; 
20		--rounded-pill: 50rem; 
21		--navigation-submenu-item-float: left; 
22		--display4-weight: 300; 
23		--danger: #da1414; 
24		--atk-row: absolute; 
25		--display2-size: 5.5rem; 
26		--body-bg: #f9f9f9; 
27		--display2-weight: 300; 
28		--display1-weight: 300; 
29		--display3-weight: 300; 
30		--box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075); 
31		--text-align-hero-text-container: center; 
32		--cta-background-color: #F5F5F5; 
33		--font-weight-lighter: lighter; 
34		--h3-font-size: 36px; 
35		--btn-outline-primary-hover-border-color: #0b5fff; 
36		--transition-collapse: height .35s ease; 
37		--blockquote-small-color: #6b6c7e; 
38		--gray-200: #f1f2f5; 
39		--btn-secondary-hover-background-color: #f7f8f9; 
40		--gray-600: #6b6c7e; 
41		--secondary: #6b6c7e; 
42		--btn-outline-primary-color: #0b5fff; 
43		--btn-link-hover-color: #004ad7; 
44		--hr-border-color: rgba(0, 0, 0, .1); 
45		--hr-border-margin-y: 1rem; 
46		--light: #f1f2f5; 
47		--btn-outline-primary-hover-color: #0b5fff; 
48		--font-weight-read-more: 400; 
49		--btn-secondary-background-color: #fff; 
50		--btn-outline-secondary-hover-border-color: transparent; 
51		--display3-size: 4.5rem; 
52		--primary: #0b5fff; 
53		--container-max-md: 768px; 
54		--border-radius-sm: 0.1875rem; 
55		--display-line-height: 1.2; 
56		--font-family-hero-text: 'Graphik Web'; 
57		--h6-font-size: 0.8125rem; 
58		--h2-font-size: 44px; 
59		--aspect-ratio-4-to-3: 75%; 
60		--font-family-read-more: 'Graphik Web'; 
61		--spacer-10: 10rem; 
62		--font-family-semibold: 'Graphik Web'; 
63		--font-weight-normal: 400; 
64		--dark: #272833; 
65		--blockquote-small-font-size: 80%; 
66		--h5-font-size: 0.875rem; 
67		--blockquote-font-size: 1.25rem; 
68		--transition-fade: opacity .15s linear; 
69		--display4-size: 3.5rem; 
70		--border-radius-lg: 0.375rem; 
71		--btn-primary-hover-color: #fff; 
72		--display1-size: 6rem; 
73		--black: #000; 
74		--gray-300: #e7e7ed; 
75		--gray-700: #495057; 
76		--btn-secondary-border-color: #cdced9; 
77		--btn-outline-secondary-hover-color: #272833; 
78		--purple: #7823DC; 
79		--body-color: #111; 
80		--btn-outline-secondary-hover-background-color: rgba(39, 40, 51, 0.03); 
81		--font-weight-button-body: 400; 
82		--btn-primary-color: #fff; 
83		--btn-secondary-color: #6b6c7e; 
84		--btn-secondary-hover-border-color: #cdced9; 
85		--box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175); 
86		--container-max-lg: 992px; 
87		--btn-outline-primary-border-color: #0b5fff; 
88		--aspect-ratio: 100%; 
89		--cta-link-hover-color: #000; 
90		--body-container: #fff; 
91		--cta-link-color: #7823DC; 
92		--aspect-ratio-16-to-9: 56.25%; 
93		--box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15); 
94		--white: #fff; 
95		--portlet-bg-color: #272833; 
96		--warning: #b95000; 
97		--info: #2e5aac; 
98		--hr-border-width: 1px; 
99		--btn-link-color: #0b5fff; 
100		--gray-400: #cdced9; 
101		--font-weight-hero-text-h4: 100; 
102		--gray-800: #393a4a; 
103		--font-weight-semibold: 600; 
104		--btn-outline-primary-hover-background-color: #f0f5ff; 
105		--btn-primary-hover-background-color: #0053f0; 
106		--btn-primary-background-color: #0b5fff; 
107		--font-weight-heading4: 100; 
108		--font-weight-hero-text-h1: 600; 
109		--font-weight-heading3: 400; 
110		--success: #287d3c; 
111		--font-family-heading4: 'Graphik Web'; 
112		--font-family-heading3: 'Graphik Web'; 
113		--font-weight-heading2: 400; 
114		--font-weight-heading1: 600; 
115		--font-size-sm: 0.875rem; 
116		--font-family-heading2: 'Graphik Web'; 
117		--btn-primary-border-color: #0b5fff; 
118		--font-family-heading1: 'Graphik Web'; 
119		--font-family-base: 'Arabic', sans-serif; 
120		--spacer-0: 0; 
121		--font-family-monospace: 'Arabic', sans-serif; 
122		--lead-font-size: 1.25rem; 
123		--border-radius: 0.25rem; 
124		--spacer-9: 9rem; 
125		--font-weight-light: 300; 
126		--btn-secondary-hover-color: #272833; 
127		--spacer-2: 0.5rem; 
128		--font-family-button-body: 'Graphik Web'; 
129		--spacer-1: 0.25rem; 
130		--spacer-4: 1.5rem; 
131		--spacer-3: 1rem; 
132		--spacer-6: 4.5rem; 
133		--spacer-5: 3rem; 
134		--spacer-8: 7.5rem; 
135		--border-radius-circle: 50%; 
136		--spacer-7: 6rem; 
137		--font-size-lg: 1.125rem; 
138		--aspect-ratio-8-to-3: 37.5%; 
139		--font-family-sans-serif: 'Arabic', sans-serif; 
140		--gray-100: #f7f8f9; 
141		--font-weight-bolder: 900; 
142		--container-max-xl: 1280px; 
143		--btn-outline-secondary-color: #6b6c7e; 
144		--custom-black: #1E1E1E; 
145		--gray-500: #a7a9bc; 
146		--h1-font-size: 66px; 
147		--gray-900: #272833; 
148		--text-muted: #a7a9bc; 
149		--btn-primary-hover-border-color: transparent; 
150		--btn-outline-secondary-border-color: #cdced9; 
151		--lead-font-weight: 300; 
152		--font-size-base: 0.875rem; 
153
154         
155    #leftColumnDiv 
156    a{     
157        color: var(--purple) !important; 
158        text-decoration: underline !important; 
159        text-decoration-color: #E6E6E6 !important; 
160
161         
162    #leftColumnDiv 
163    a:hover{     
164	       text-decoration: none !important; 
165
166	 
167	a.smallerMobileText 
168    {     
169        color: var(--purple) !important; 
170        text-decoration: underline !important; 
171        text-decoration-color: #E6E6E6 !important; 
172
173         
174     
175    a.smallerMobileText:hover{     
176	       text-decoration: none !important; 
177
178	 
179    </style> 
180		 
181</#if> 
182 
183<#assign JournalArticleLocalService = serviceLocator.findService( 
184"com.liferay.journal.service.JournalArticleLocalService")> 
185<#assign AssetEntryLocalService = serviceLocator.findService( 
186"com.liferay.asset.kernel.service.AssetEntryLocalService")> 
187<#assign AssetCategoryLocalService = serviceLocator.findService( 
188"com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
189<#assign AssetVocabularyLocalService = serviceLocator.findService( 
190"com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
191<#assign AssetCategoryPropertyLocalService = serviceLocator.findService( 
192"com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService")/> 
193<#assign AssetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")> 
194<#assign GroupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")> 
195<#assign CurrentJournalArticle = JournalArticleLocalService.getLatestArticle(groupId,.vars['reserved-article-id'].data)> 
196<#assign CurrentAssetEntry = AssetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle",CurrentJournalArticle.getResourcePrimKey())> 
197<#assign AssetLinks = AssetLinkLocalService.getReverseLinks(CurrentAssetEntry.getEntryId(), 0)> 
198 
199<#assign TemplateCustomService = serviceLocator.findService("template.custom.services.TemplateCustomService") /> 
200<!-- update name here if change asset library name --> 
201<#assign assetLibGroup = GroupLocalService.getGroup(themeDisplay.getCompanyId(), "Kearney Global Asset Library") /> 
202<#assign DLFolderLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFolderLocalService")/> 
203<#assign DLFileEntryLocalService = serviceLocator.findService( 
204	"com.liferay.document.library.kernel.service.DLFileEntryLocalService")/> 
205<#if assetLibGroup?? > 
206	<#assign assetLibGroupId = assetLibGroup.getGroupId() /> 
207</#if> 
208<#assign atkGroupId = company.getGroupId() /> 
209<#assign layoutUrl = themeDisplay.getLayout().getFriendlyURL()/> 
210 
211<#-- Macro used to get specific field text from an Asset Entry --> 
212<#macro entryNode assetEntry field> 
213	<#assign document = saxReaderUtil.read(assetEntry.getContent())> 
214	<#if document.selectSingleNode("/root/dynamic-element[@name='"+field+"']/dynamic-content")??> 
215    "${document.selectSingleNode("/root/dynamic-element[@name='"+field+"']/dynamic-content").getText()?js_string}" 
216	<#else> 
217    "" 
218	</#if> 
219</#macro> 
220 
221<!-- Adjust portlet topper offset since bio goes to top of page --> 
222<style> 
223    header.portlet-topper { 
224        position: absolute !important; 
225        top: 33px !important; 
226        width: 100% !important; 
227
228</style> 
229 
230<div id="employeeBioDiv"></div> 
231<script> 
232 
233	<#if DisplayHeadshot??> 
234		<#assign displayHeadshot = DisplayHeadshot.getData()> 
235	<#else> 
236		<#assign displayHeadshot = "" > 
237	</#if> 
238 
239    var empInfo = { 
240        fullName: "${FullName.getData()?js_string}", 
241        preferredName: "${PreferredFirstName.getData()?js_string}", 
242        position: "${Position.getData()?js_string}", 
243        office: "${Office.getData()?js_string}", 
244        title: "${Title.getData()?js_string}", 
245        linkedIn: "${LinkedInURL.getData()?js_string}", 
246        headshotLocation: "${displayHeadshot}", 
247        quote: "${Quote.getData()?js_string}", 
248        description: "${Description.getData()?js_string}", 
249        urlTitle: "${.vars['reserved-article-url-title'].data?js_string}" 
250    }; 
251 
252	<#assign industryVocabulary = AssetVocabularyLocalService.getGroupVocabulary(atkGroupId, "Industries")/> 
253	<#assign industryCategories = industryVocabulary.getCategories()/> 
254 
255    var industryCategories = []; 
256	<#list industryCategories as category> 
257	<#if category.parentCategoryId == 0> 
258	<#attempt> 
259		<#assign categoryUrl = AssetCategoryPropertyLocalService.getCategoryProperty(category.categoryId, "url")/> 
260    industryCategories.push({ 
261        id: "${category.categoryId}", 
262        name: "${category.name}", 
263        url: "${categoryUrl.value}", 
264    }); 
265    <#recover> 
266    	console.log("could not find url property on industry category ${category.name?js_string}"); 
267    </#attempt> 
268    </#if> 
269	</#list> 
270 
271    var industries = []; 
272	<#if Industries.getSiblings()?has_content> 
273		<#list Industries.getSiblings() as cur_Industries> 
274        var defaultChecked = false; 
275			<#if getterUtil.getBoolean(cur_Industries.UseDefaultIndustryPage.getData())> 
276            defaultChecked = true; 
277			</#if> 
278        industries.push({ 
279            title: "${cur_Industries.getData()?js_string}", 
280            customURL: "${cur_Industries.CustomIndustryURL.getData()?js_string}", 
281            useDefault: defaultChecked 
282        }); 
283		</#list> 
284	</#if> 
285 
286	<#assign expertiseVocabulary = AssetVocabularyLocalService.getGroupVocabulary(atkGroupId, "Capabilities")/> 
287	<#assign expertiseCategories = expertiseVocabulary.getCategories()/> 
288 
289    var expertiseCategories = []; 
290	<#list expertiseCategories as category> 
291		<#if category.parentCategoryId == 0> 
292		<#attempt>	 
293			<#assign categoryUrl = AssetCategoryPropertyLocalService.getCategoryProperty(category.categoryId, "url")/> 
294        expertiseCategories.push({ 
295            id: "${category.categoryId}", 
296            name: "${category.name}", 
297            url: "${categoryUrl.value}", 
298        }); 
299 
300			<#recover> 
301            console.log("could not find url property on capability category ${category.name?js_string}"); 
302		</#attempt> 
303		</#if> 
304	</#list> 
305 
306    var expertise = []; 
307	<#if Expertise?? && Expertise.getSiblings()?has_content> 
308		<#list Expertise.getSiblings() as cur_Expertise> 
309        var defaultChecked = false; 
310			<#if getterUtil.getBoolean(cur_Expertise.UseDefaultExpertisePage.getData())> 
311            defaultChecked = true; 
312			</#if> 
313        expertise.push({ 
314            title: "${cur_Expertise.getData()?js_string}", 
315            customURL: "${cur_Expertise.CustomExpertiseURL.getData()?js_string}", 
316            useDefault: defaultChecked 
317        }); 
318		</#list> 
319	</#if> 
320 
321 
322    var clientImpact = []; 
323	<#if ClientImpactTitle?? && ClientImpactTitle.getSiblings()?has_content> 
324		<#list ClientImpactTitle.getSiblings() as cur_ClientImpactTitle> 
325 
326        var impactUrlTitle = ""; 
327			<#assign jArt = "" /> 
328			<#if cur_ClientImpactTitle.impactUrlTitle?? && cur_ClientImpactTitle.impactUrlTitle.getData()?has_content> 
329				<#assign jArt = JournalArticleLocalService.getArticleByUrlTitle(assetLibGroupId, cur_ClientImpactTitle.impactUrlTitle.getData()) /> 
330            impactUrlTitle = "${cur_ClientImpactTitle.impactUrlTitle.getData()?js_string}"; 
331			</#if> 
332 
333        var link = ""; 
334			<#if cur_ClientImpactTitle.ClientImpactLink?? && cur_ClientImpactTitle.ClientImpactLink.getData()?has_content> 
335            link = "${cur_ClientImpactTitle.ClientImpactLink.getData()?js_string}"; 
336			</#if> 
337 
338        var title = ""; 
339			<#if cur_ClientImpactTitle?? && cur_ClientImpactTitle.getData()?has_content> 
340            title = "${cur_ClientImpactTitle.getData()?js_string}"; 
341			<#elseif jArt != ""> 
342            title = "${jArt.getTitle(locale)?js_string}"; 
343			</#if> 
344 
345        var subtitle = ""; 
346			<#if cur_ClientImpactTitle.ClientImpactText?? && cur_ClientImpactTitle.ClientImpactText.getData()?has_content> 
347            subtitle = "${cur_ClientImpactTitle.ClientImpactText.getData()?js_string}"; 
348			<#elseif jArt != ""> 
349            subtitle = <@entryNode assetEntry=jArt field="Subtitle"/>; 
350			</#if> 
351 
352        var svgMask = ""; 
353			<#if TextDecoration.getData()?has_content> 
354            svgMask = "${TextDecoration.getData()?js_string}"; 
355			<#elseif jArt != ""> 
356            svgMask = <@entryNode assetEntry=jArt field="SvgMask"/>; 
357			</#if> 
358 
359        var articleCategories = []; 
360			<#if jArt != ""> 
361				<#assign jAsset = AssetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", jArt.getResourcePrimKey()) /> 
362				<#assign assetCategories =  AssetCategoryLocalService.getAssetEntryAssetCategories(jAsset.getEntryId()) /> 
363 
364				<#list assetCategories as category> 
365					<#assign categoryVocabulary = AssetVocabularyLocalService.getAssetVocabulary(category.getVocabularyId())> 
366					<#assign categoryUrl = AssetCategoryPropertyLocalService.getCategoryProperty(category.categoryId, "url")/> 
367                articleCategories.push({ 
368                    id: "${category.categoryId}", 
369                    name: "${category.name}", 
370                    url: "${categoryUrl.value}", 
371                    vocabularyName: "${categoryVocabulary.getName()?js_string}", 
372                }); 
373				</#list> 
374			</#if> 
375 
376        clientImpact.push({ 
377            slug: "Client Impact", 
378            title: title, 
379            description: subtitle, 
380            largeDescriptionText: 'false', 
381            link: link, 
382            urlTitle: impactUrlTitle, 
383            categories: articleCategories, 
384            displayType: "Bio Feature", 
385            svgMaskURL: svgMask 
386        }); 
387		</#list> 
388	</#if> 
389 
390    if (clientImpact.length > 0) { 
391	<#if SmallerPrimaryClientImpactTitle??> 
392            clientImpact[0].useSmallerTitle = !${getterUtil.getBoolean(SmallerPrimaryClientImpactTitle.getData())?c}; 
393	<#else> 
394            clientImpact[0].useSmallerTitle = false; 
395	</#if> 
396 
397	<#if SmallerPrimaryClientImpactSubtitle??> 
398        clientImpact[0].largeDescriptionText = '' + (!${getterUtil.getBoolean(SmallerPrimaryClientImpactSubtitle.getData())?c}); 
399	<#else> 
400        clientImpact[0].largeDescriptionText = 'true'; 
401	</#if> 
402
403 
404    if (clientImpact[0].useSmallerTitle) { 
405        clientImpact[0].titleTextSize = 'heading1'; 
406    } else { 
407        clientImpact[0].titleTextSize = 'heading2'; 
408
409 
410    var perspectives = []; 
411	<#if PerspectiveTitle?has_content && PerspectiveTitle.getSiblings()?has_content> 
412		<#list PerspectiveTitle.getSiblings() as cur_PerspectiveTitle> 
413        <#if cur_PerspectiveTitle.getData()?has_content && cur_PerspectiveTitle.PerspectiveLink.getData()?has_content> 
414            perspectives.push({ 
415                title: "${cur_PerspectiveTitle.getData()?js_string}", 
416                link: "${cur_PerspectiveTitle.PerspectiveLink.getData()?js_string}", 
417            }); 
418        </#if> 
419		</#list> 
420	</#if> 
421 
422 
423	var formData = {}; 
424		<#assign recordset = TemplateCustomService.getBioDDMDdmFormInstance() > 
425		<#if recordset??> 
426		<#assign recordSetUUID = recordset.getUuid()> 
427    	<#assign structure = recordset.getStructure() > 
428    	<#assign JSONFactory = serviceLocator.findService( 
429    	"com.liferay.portal.kernel.json.JSONFactory")/> 
430    	<#assign definition = JSONFactory.createJSONObject(structure.getDefinition()) > 
431    	<#assign description = structure.getDescription("en_US") > 
432     
433    	<#assign name = structure.getName("en_US") > 
434     
435        formData = { 
436            configuration: {formId: '${recordSetUUID}'}, 
437            definition: ${definition}, 
438            description: "${description}", 
439            name: "${name}" 
440
441        </#if> 
442	 
443 
444 
445    ATK.React.App.EmployeeBio('employeeBioDiv', empInfo, industries, industryCategories, expertise, expertiseCategories, clientImpact, perspectives, formData);  </script> 
446<#compress>     
447    <script type="application/ld+json"> 
448
449        "@context": "https://schema.org/", 
450        "@type": "ProfilePage", 
451        "mainEntity": { 
452            "@type": "Person", 
453            "name": "<#if (FullName.getData())??>${FullName.getData()}</#if>", 
454            "givenName": "<#if (PreferredFirstName.getData())??>${PreferredFirstName.getData()}</#if>", 
455            "familyName": "<#if (FullName.getData())??><#if (FullName.getData())?contains(" ")>${FullName.getData()?split(" ")[1]}<#elseif (FullName.getData())?contains("・")>${FullName.getData()?split("・")[1]}<#else>${FullName.getData()}</#if></#if>", 
456            "url": "https://www.kearney.com${layoutUrl}", 
457            "image": "<#if (DisplayHeadshot.getData())??>${"https://www.kearney.com" + DisplayHeadshot.getData()}</#if>", 
458            "jobTitle": "<#if (Title.getData())??>${Title.getData()}</#if>", 
459            "worksFor": { 
460                "@id": "https://www.kearney.com#organization" 
461            }, 
462            "sameAs": [ 
463                "<#if (LinkedInURL.getData())??>${LinkedInURL.getData()}</#if>" 
464
465
466
467    </script> 
468</#compress>