| <?xml version="1.0" encoding="UTF-8"?> |
| <jmeterTestPlan version="1.2" properties="4.1" jmeter="4.1-SNAPSHOT.20180704"> |
| <hashTree> |
| <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true"> |
| <stringProp name="TestPlan.comments"></stringProp> |
| <boolProp name="TestPlan.functional_mode">false</boolProp> |
| <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp> |
| <boolProp name="TestPlan.serialize_threadgroups">true</boolProp> |
| <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> |
| <collectionProp name="Arguments.arguments"/> |
| </elementProp> |
| <stringProp name="TestPlan.user_define_classpath"></stringProp> |
| </TestPlan> |
| <hashTree> |
| <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG-CONTINUE" enabled="true"> |
| <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> |
| <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> |
| <boolProp name="LoopController.continue_forever">false</boolProp> |
| <stringProp name="LoopController.loops">3</stringProp> |
| </elementProp> |
| <stringProp name="ThreadGroup.num_threads">1</stringProp> |
| <stringProp name="ThreadGroup.ramp_time">1</stringProp> |
| <boolProp name="ThreadGroup.scheduler">false</boolProp> |
| <stringProp name="ThreadGroup.duration"></stringProp> |
| <stringProp name="ThreadGroup.delay"></stringProp> |
| </ThreadGroup> |
| <hashTree> |
| <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="TC" enabled="true"> |
| <boolProp name="TransactionController.includeTimers">false</boolProp> |
| <boolProp name="TransactionController.parent">false</boolProp> |
| </TransactionController> |
| <hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree> |
| <JSR223PreProcessor guiclass="TestBeanGUI" testclass="JSR223PreProcessor" testname="JSR223 PreProcessor" enabled="true"> |
| <stringProp name="scriptLanguage">groovy</stringProp> |
| <stringProp name="parameters"></stringProp> |
| <stringProp name="filename"></stringProp> |
| <stringProp name="cacheKey">true</stringProp> |
| <stringProp name="script">vars.put("__jm__LC__idx", "1");</stringProp> |
| </JSR223PreProcessor> |
| <hashTree/> |
| </hashTree> |
| <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="LC" enabled="true"> |
| <boolProp name="LoopController.continue_forever">true</boolProp> |
| <stringProp name="LoopController.loops">4</stringProp> |
| </LoopController> |
| <hashTree> |
| <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="sc2" enabled="true"> |
| <boolProp name="TransactionController.includeTimers">false</boolProp> |
| <boolProp name="TransactionController.parent">false</boolProp> |
| </TransactionController> |
| <hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-__jm__LC__idx=${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="JSS_FailsIfCptHigherThan1" enabled="true"> |
| <stringProp name="cacheKey">true</stringProp> |
| <stringProp name="filename"></stringProp> |
| <stringProp name="parameters"></stringProp> |
| <stringProp name="script">int cpt = vars["__jm__LC__idx"].toInteger(); |
| |
| if(cpt > 1) { |
| SampleResult.setSuccessful(false); |
| } else { |
| SampleResult.setSuccessful(true); |
| } |
| </stringProp> |
| <stringProp name="scriptLanguage">groovy</stringProp> |
| </JSR223Sampler> |
| <hashTree/> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| <ResultAction guiclass="ResultActionGui" testclass="ResultAction" testname="Result Status Action Handler" enabled="true"> |
| <intProp name="OnError.action">0</intProp> |
| </ResultAction> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-After-LC-${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG-GOTONEXT_IT" enabled="true"> |
| <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> |
| <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> |
| <boolProp name="LoopController.continue_forever">false</boolProp> |
| <stringProp name="LoopController.loops">3</stringProp> |
| </elementProp> |
| <stringProp name="ThreadGroup.num_threads">1</stringProp> |
| <stringProp name="ThreadGroup.ramp_time">1</stringProp> |
| <boolProp name="ThreadGroup.scheduler">false</boolProp> |
| <stringProp name="ThreadGroup.duration"></stringProp> |
| <stringProp name="ThreadGroup.delay"></stringProp> |
| </ThreadGroup> |
| <hashTree> |
| <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="TC" enabled="true"> |
| <boolProp name="TransactionController.includeTimers">false</boolProp> |
| <boolProp name="TransactionController.parent">false</boolProp> |
| </TransactionController> |
| <hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree> |
| <JSR223PreProcessor guiclass="TestBeanGUI" testclass="JSR223PreProcessor" testname="JSR223 PreProcessor" enabled="true"> |
| <stringProp name="scriptLanguage">groovy</stringProp> |
| <stringProp name="parameters"></stringProp> |
| <stringProp name="filename"></stringProp> |
| <stringProp name="cacheKey">true</stringProp> |
| <stringProp name="script">vars.put("__jm__LC__idx", "1");</stringProp> |
| </JSR223PreProcessor> |
| <hashTree/> |
| </hashTree> |
| <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="LC" enabled="true"> |
| <boolProp name="LoopController.continue_forever">true</boolProp> |
| <stringProp name="LoopController.loops">4</stringProp> |
| </LoopController> |
| <hashTree> |
| <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="sc2" enabled="true"> |
| <boolProp name="TransactionController.includeTimers">false</boolProp> |
| <boolProp name="TransactionController.parent">false</boolProp> |
| </TransactionController> |
| <hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-__jm__LC__idx=${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="JSS_FailsIfCptHigherThan1" enabled="true"> |
| <stringProp name="cacheKey">true</stringProp> |
| <stringProp name="filename"></stringProp> |
| <stringProp name="parameters"></stringProp> |
| <stringProp name="script">int cpt = vars["__jm__LC__idx"].toInteger(); |
| |
| if(cpt > 1) { |
| SampleResult.setSuccessful(false); |
| } else { |
| SampleResult.setSuccessful(true); |
| } |
| </stringProp> |
| <stringProp name="scriptLanguage">groovy</stringProp> |
| </JSR223Sampler> |
| <hashTree/> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| <ResultAction guiclass="ResultActionGui" testclass="ResultAction" testname="Result Status Action Handler" enabled="true"> |
| <intProp name="OnError.action">5</intProp> |
| </ResultAction> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-After-LC-${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG-BREAK" enabled="true"> |
| <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> |
| <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> |
| <boolProp name="LoopController.continue_forever">false</boolProp> |
| <stringProp name="LoopController.loops">3</stringProp> |
| </elementProp> |
| <stringProp name="ThreadGroup.num_threads">1</stringProp> |
| <stringProp name="ThreadGroup.ramp_time">1</stringProp> |
| <boolProp name="ThreadGroup.scheduler">false</boolProp> |
| <stringProp name="ThreadGroup.duration"></stringProp> |
| <stringProp name="ThreadGroup.delay"></stringProp> |
| </ThreadGroup> |
| <hashTree> |
| <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="TC" enabled="true"> |
| <boolProp name="TransactionController.includeTimers">false</boolProp> |
| <boolProp name="TransactionController.parent">false</boolProp> |
| </TransactionController> |
| <hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree> |
| <JSR223PreProcessor guiclass="TestBeanGUI" testclass="JSR223PreProcessor" testname="JSR223 PreProcessor" enabled="true"> |
| <stringProp name="scriptLanguage">groovy</stringProp> |
| <stringProp name="parameters"></stringProp> |
| <stringProp name="filename"></stringProp> |
| <stringProp name="cacheKey">true</stringProp> |
| <stringProp name="script">vars.put("__jm__LC__idx", "1");</stringProp> |
| </JSR223PreProcessor> |
| <hashTree/> |
| </hashTree> |
| <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="LC" enabled="true"> |
| <boolProp name="LoopController.continue_forever">true</boolProp> |
| <stringProp name="LoopController.loops">4</stringProp> |
| </LoopController> |
| <hashTree> |
| <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="sc2" enabled="true"> |
| <boolProp name="TransactionController.includeTimers">false</boolProp> |
| <boolProp name="TransactionController.parent">false</boolProp> |
| </TransactionController> |
| <hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-__jm__LC__idx=${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="JSS_FailsIfCptHigherThan1" enabled="true"> |
| <stringProp name="cacheKey">true</stringProp> |
| <stringProp name="filename"></stringProp> |
| <stringProp name="parameters"></stringProp> |
| <stringProp name="script">int cpt = vars["__jm__LC__idx"].toInteger(); |
| |
| if(cpt > 1) { |
| SampleResult.setSuccessful(false); |
| } else { |
| SampleResult.setSuccessful(true); |
| } |
| </stringProp> |
| <stringProp name="scriptLanguage">groovy</stringProp> |
| </JSR223Sampler> |
| <hashTree/> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| <ResultAction guiclass="ResultActionGui" testclass="ResultAction" testname="Result Status Action Handler" enabled="true"> |
| <intProp name="OnError.action">6</intProp> |
| </ResultAction> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-After-LC-${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="TG-STARTNEXTLOOP" enabled="true"> |
| <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> |
| <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> |
| <boolProp name="LoopController.continue_forever">false</boolProp> |
| <stringProp name="LoopController.loops">3</stringProp> |
| </elementProp> |
| <stringProp name="ThreadGroup.num_threads">1</stringProp> |
| <stringProp name="ThreadGroup.ramp_time">1</stringProp> |
| <boolProp name="ThreadGroup.scheduler">false</boolProp> |
| <stringProp name="ThreadGroup.duration"></stringProp> |
| <stringProp name="ThreadGroup.delay"></stringProp> |
| </ThreadGroup> |
| <hashTree> |
| <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="TC" enabled="true"> |
| <boolProp name="TransactionController.includeTimers">false</boolProp> |
| <boolProp name="TransactionController.parent">false</boolProp> |
| </TransactionController> |
| <hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree> |
| <JSR223PreProcessor guiclass="TestBeanGUI" testclass="JSR223PreProcessor" testname="JSR223 PreProcessor" enabled="true"> |
| <stringProp name="scriptLanguage">groovy</stringProp> |
| <stringProp name="parameters"></stringProp> |
| <stringProp name="filename"></stringProp> |
| <stringProp name="cacheKey">true</stringProp> |
| <stringProp name="script">vars.put("__jm__LC__idx", "1");</stringProp> |
| </JSR223PreProcessor> |
| <hashTree/> |
| </hashTree> |
| <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="LC" enabled="true"> |
| <boolProp name="LoopController.continue_forever">true</boolProp> |
| <stringProp name="LoopController.loops">4</stringProp> |
| </LoopController> |
| <hashTree> |
| <TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="sc2" enabled="true"> |
| <boolProp name="TransactionController.includeTimers">false</boolProp> |
| <boolProp name="TransactionController.parent">false</boolProp> |
| </TransactionController> |
| <hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-__jm__LC__idx=${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| <JSR223Sampler guiclass="TestBeanGUI" testclass="JSR223Sampler" testname="JSS_FailsIfCptHigherThan1" enabled="true"> |
| <stringProp name="cacheKey">true</stringProp> |
| <stringProp name="filename"></stringProp> |
| <stringProp name="parameters"></stringProp> |
| <stringProp name="script">int cpt = vars["__jm__LC__idx"].toInteger(); |
| |
| if(cpt > 1) { |
| SampleResult.setSuccessful(false); |
| } else { |
| SampleResult.setSuccessful(true); |
| } |
| </stringProp> |
| <stringProp name="scriptLanguage">groovy</stringProp> |
| </JSR223Sampler> |
| <hashTree/> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| <ResultAction guiclass="ResultActionGui" testclass="ResultAction" testname="Result Status Action Handler" enabled="true"> |
| <intProp name="OnError.action">4</intProp> |
| </ResultAction> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="DS-After-LC-${__jm__LC__idx}" enabled="true"> |
| <boolProp name="displayJMeterProperties">false</boolProp> |
| <boolProp name="displayJMeterVariables">true</boolProp> |
| <boolProp name="displaySystemProperties">false</boolProp> |
| </DebugSampler> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true"> |
| <boolProp name="ResultCollector.error_logging">false</boolProp> |
| <objProp> |
| <name>saveConfig</name> |
| <value class="SampleSaveConfiguration"> |
| <time>false</time> |
| <latency>false</latency> |
| <timestamp>false</timestamp> |
| <success>true</success> |
| <label>true</label> |
| <code>true</code> |
| <message>true</message> |
| <threadName>true</threadName> |
| <dataType>false</dataType> |
| <encoding>false</encoding> |
| <assertions>false</assertions> |
| <subresults>false</subresults> |
| <responseData>false</responseData> |
| <samplerData>false</samplerData> |
| <xml>false</xml> |
| <fieldNames>true</fieldNames> |
| <responseHeaders>false</responseHeaders> |
| <requestHeaders>false</requestHeaders> |
| <responseDataOnError>false</responseDataOnError> |
| <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> |
| <assertionsResultsToSave>0</assertionsResultsToSave> |
| </value> |
| </objProp> |
| <stringProp name="filename">TestResultStatusAction.csv</stringProp> |
| </ResultCollector> |
| <hashTree/> |
| <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Simple Data Writer" enabled="true"> |
| <boolProp name="ResultCollector.error_logging">false</boolProp> |
| <objProp> |
| <name>saveConfig</name> |
| <value class="SampleSaveConfiguration"> |
| <time>false</time> |
| <latency>false</latency> |
| <timestamp>false</timestamp> |
| <success>true</success> |
| <label>true</label> |
| <code>true</code> |
| <message>true</message> |
| <threadName>true</threadName> |
| <dataType>false</dataType> |
| <encoding>false</encoding> |
| <assertions>true</assertions> |
| <subresults>true</subresults> |
| <responseData>false</responseData> |
| <samplerData>false</samplerData> |
| <xml>true</xml> |
| <fieldNames>false</fieldNames> |
| <responseHeaders>false</responseHeaders> |
| <requestHeaders>false</requestHeaders> |
| <responseDataOnError>false</responseDataOnError> |
| <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage> |
| <assertionsResultsToSave>0</assertionsResultsToSave> |
| </value> |
| </objProp> |
| <stringProp name="filename">TestResultStatusAction.xml</stringProp> |
| </ResultCollector> |
| <hashTree/> |
| <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> |
| <boolProp name="ResultCollector.error_logging">false</boolProp> |
| <objProp> |
| <name>saveConfig</name> |
| <value class="SampleSaveConfiguration"> |
| <time>true</time> |
| <latency>true</latency> |
| <timestamp>true</timestamp> |
| <success>true</success> |
| <label>true</label> |
| <code>true</code> |
| <message>true</message> |
| <threadName>true</threadName> |
| <dataType>true</dataType> |
| <encoding>false</encoding> |
| <assertions>true</assertions> |
| <subresults>true</subresults> |
| <responseData>false</responseData> |
| <samplerData>false</samplerData> |
| <xml>false</xml> |
| <fieldNames>true</fieldNames> |
| <responseHeaders>false</responseHeaders> |
| <requestHeaders>false</requestHeaders> |
| <responseDataOnError>false</responseDataOnError> |
| <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage> |
| <assertionsResultsToSave>0</assertionsResultsToSave> |
| <sentBytes>true</sentBytes> |
| <threadCounts>true</threadCounts> |
| <idleTime>true</idleTime> |
| <connectTime>true</connectTime> |
| </value> |
| </objProp> |
| <stringProp name="filename"></stringProp> |
| </ResultCollector> |
| <hashTree/> |
| </hashTree> |
| </hashTree> |
| </jmeterTestPlan> |