From 1270657a7de9f45eb65d68b50b6e8c1b858bfaf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Jasi=C5=84ski?= Date: Fri, 8 Jun 2018 14:01:05 +0200 Subject: [PATCH] Add icons for Contrail security objects. Change-Id: Ibf8dad7324a64890335dc048939d14ffbfac7e63 Closes-Bug: #1772594 (cherry picked from commit c480d81b658cf59ba9b0fc110a645b12cd74d479) --- .../buildNumber.properties | 4 +- .../contrail/vro/config/DisplayConfig.kt | 38 +++++++++++++++++- .../vro/generator/model/ModelGenerator.kt | 4 +- .../contrail/vro/generator/model/Relation.kt | 8 +++- .../dar/resources/images/address-group.png | Bin 0 -> 801 bytes .../images/application-policy-set.png | Bin 0 -> 399 bytes .../dar/resources/images/firewall-policy.png | Bin 0 -> 700 bytes .../dar/resources/images/firewall-rule.png | Bin 0 -> 764 bytes .../dar/resources/images/floating-ip-pool.png | Bin 1166 -> 1018 bytes .../main/dar/resources/images/floating-ip.png | Bin 703 -> 758 bytes .../resources/images/global-qos-config.png | Bin 822 -> 0 bytes .../main/dar/resources/images/instance-ip.png | Bin 0 -> 797 bytes .../dar/resources/images/intstance-ip.png | Bin 753 -> 0 bytes .../dar/resources/images/ipam-subnet-type.png | Bin 342 -> 1593 bytes .../dar/resources/images/load-balancer.png | Bin 855 -> 0 bytes .../dar/resources/images/logical-router.png | Bin 1275 -> 0 bytes .../dar/resources/images/network-ipam.png | Bin 2119 -> 1020 bytes .../dar/resources/images/network-policy.png | Bin 902 -> 1048 bytes .../dar/resources/images/physical-router.png | Bin 1651 -> 0 bytes .../resources/images/policy-management.png | Bin 0 -> 767 bytes .../main/dar/resources/images/port-tuple.png | Bin 0 -> 618 bytes .../src/main/dar/resources/images/project.png | Bin 819 -> 495 bytes .../main/dar/resources/images/qos-config.png | Bin 785 -> 0 bytes .../main/dar/resources/images/quota-type.png | Bin 395 -> 734 bytes .../main/dar/resources/images/route-table.png | Bin 800 -> 0 bytes .../dar/resources/images/route-target.png | Bin 916 -> 0 bytes .../dar/resources/images/security-group.png | Bin 1280 -> 1064 bytes .../dar/resources/images/service-group.png | Bin 0 -> 951 bytes .../resources/images/service-health-check.png | Bin 2125 -> 1805 bytes .../dar/resources/images/service-instance.png | Bin 3310 -> 1478 bytes .../dar/resources/images/service-template.png | Bin 878 -> 1339 bytes .../src/main/dar/resources/images/tag.png | Bin 0 -> 1375 bytes .../images/virtual-machine-interface.png | Bin 533 -> 569 bytes .../dar/resources/images/virtual-machine.png | Bin 404 -> 409 bytes .../dar/resources/images/virtual-router.png | Bin 801 -> 0 bytes 35 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 o11nplugin-contrail/src/main/dar/resources/images/address-group.png create mode 100644 o11nplugin-contrail/src/main/dar/resources/images/application-policy-set.png create mode 100644 o11nplugin-contrail/src/main/dar/resources/images/firewall-policy.png create mode 100644 o11nplugin-contrail/src/main/dar/resources/images/firewall-rule.png delete mode 100644 o11nplugin-contrail/src/main/dar/resources/images/global-qos-config.png create mode 100644 o11nplugin-contrail/src/main/dar/resources/images/instance-ip.png delete mode 100644 o11nplugin-contrail/src/main/dar/resources/images/intstance-ip.png delete mode 100644 o11nplugin-contrail/src/main/dar/resources/images/load-balancer.png delete mode 100644 o11nplugin-contrail/src/main/dar/resources/images/logical-router.png delete mode 100644 o11nplugin-contrail/src/main/dar/resources/images/physical-router.png create mode 100644 o11nplugin-contrail/src/main/dar/resources/images/policy-management.png create mode 100644 o11nplugin-contrail/src/main/dar/resources/images/port-tuple.png delete mode 100644 o11nplugin-contrail/src/main/dar/resources/images/qos-config.png delete mode 100644 o11nplugin-contrail/src/main/dar/resources/images/route-table.png delete mode 100644 o11nplugin-contrail/src/main/dar/resources/images/route-target.png create mode 100644 o11nplugin-contrail/src/main/dar/resources/images/service-group.png create mode 100644 o11nplugin-contrail/src/main/dar/resources/images/tag.png delete mode 100644 o11nplugin-contrail/src/main/dar/resources/images/virtual-router.png diff --git a/o11nplugin-contrail-config/buildNumber.properties b/o11nplugin-contrail-config/buildNumber.properties index ef695efb..957d4537 100644 --- a/o11nplugin-contrail-config/buildNumber.properties +++ b/o11nplugin-contrail-config/buildNumber.properties @@ -1,3 +1,3 @@ #maven.buildNumber.plugin properties file -#Wed Jun 06 17:32:42 CEST 2018 -buildNumber=1423 +#Fri Jun 08 13:56:38 CEST 2018 +buildNumber=1434 diff --git a/o11nplugin-contrail-config/src/main/kotlin/net/juniper/contrail/vro/config/DisplayConfig.kt b/o11nplugin-contrail-config/src/main/kotlin/net/juniper/contrail/vro/config/DisplayConfig.kt index 9e08d76c..c466a681 100644 --- a/o11nplugin-contrail-config/src/main/kotlin/net/juniper/contrail/vro/config/DisplayConfig.kt +++ b/o11nplugin-contrail-config/src/main/kotlin/net/juniper/contrail/vro/config/DisplayConfig.kt @@ -4,6 +4,8 @@ package net.juniper.contrail.vro.config +import net.juniper.contrail.api.types.* // ktlint-disable no-wildcard-imports + val hiddenProperties = setOf( "parentUuid", "parentType", @@ -29,9 +31,41 @@ val String.displayedName get() = when (this) { } val String.position get() = - cleanedDisplayedProperty.propertyPosition + cleanedDisplayedProperty.propertyOrder + +private val orderList = listOf( + VirtualNetwork::class.java, + NetworkIpam::class.java, + FloatingIpPool::class.java, + VirtualMachineInterface::class.java, + + NetworkPolicy::class.java, + SecurityGroup::class.java, + + ApplicationPolicySet::class.java, + FirewallPolicy::class.java, + FirewallRule::class.java, + ServiceGroup::class.java, + AddressGroup::class.java, + + Project::class.java, + PolicyManagement::class.java, + Tag::class.java, + ServiceTemplate::class.java, + + ServiceInstance::class.java, + PortTuple::class.java, + ServiceHealthCheck::class.java +) + +private val orders = orderList.asSequence() + .mapIndexed { index, clazz -> Pair(clazz, index) } + .associateBy({ it.first }, { it.second }) + +val Class<*>.order get() = + orders[this] ?: orders.size -private val String.propertyPosition get() = when (this) { +private val String.propertyOrder get() = when (this) { "name" -> 0 "displayName" -> 1 "uuid" -> 2 diff --git a/o11nplugin-contrail-generator/src/main/kotlin/net/juniper/contrail/vro/generator/model/ModelGenerator.kt b/o11nplugin-contrail-generator/src/main/kotlin/net/juniper/contrail/vro/generator/model/ModelGenerator.kt index 568c99e8..e17043d2 100644 --- a/o11nplugin-contrail-generator/src/main/kotlin/net/juniper/contrail/vro/generator/model/ModelGenerator.kt +++ b/o11nplugin-contrail-generator/src/main/kotlin/net/juniper/contrail/vro/generator/model/ModelGenerator.kt @@ -9,6 +9,7 @@ import net.juniper.contrail.vro.config.PropertyClass import net.juniper.contrail.vro.config.div import net.juniper.contrail.vro.config.ProjectInfo import net.juniper.contrail.vro.config.isRootClass +import net.juniper.contrail.vro.config.order import net.juniper.contrail.vro.generator.generatedPackageName import net.juniper.contrail.vro.generator.generatedSourcesRoot import net.juniper.contrail.vro.generator.templatesInClassPath @@ -24,7 +25,8 @@ fun generateModel( val relations = definition.relations val forwardRelations = definition.forwardRelations val propertyRelations = definition.propertyRelations - val rootClasses = modelClasses.filter { it.isRootClass } + val rootClasses = modelClasses.asSequence() + .filter { it.isRootClass }.sortedBy { it.order }.toList() val relationsModel = generateRelationsModel(relations, forwardRelations, propertyRelations, rootClasses) val customMappingModel = generateCustomMappingModel(info, pluginClasses, rootClasses, propertyClasses, relations, forwardRelations, propertyRelations) diff --git a/o11nplugin-contrail-generator/src/main/kotlin/net/juniper/contrail/vro/generator/model/Relation.kt b/o11nplugin-contrail-generator/src/main/kotlin/net/juniper/contrail/vro/generator/model/Relation.kt index 5de1d086..b4f26e34 100644 --- a/o11nplugin-contrail-generator/src/main/kotlin/net/juniper/contrail/vro/generator/model/Relation.kt +++ b/o11nplugin-contrail-generator/src/main/kotlin/net/juniper/contrail/vro/generator/model/Relation.kt @@ -22,6 +22,7 @@ import net.juniper.contrail.vro.config.isInReversedRelationTo import net.juniper.contrail.vro.config.isModelClassName import net.juniper.contrail.vro.config.nameWithoutGetAndBackRefs import net.juniper.contrail.vro.config.objectReferenceAttributeClass +import net.juniper.contrail.vro.config.order import net.juniper.contrail.vro.config.pluginName import net.juniper.contrail.vro.config.pluralize import net.juniper.contrail.vro.config.propertyName @@ -73,17 +74,21 @@ class PropertyRelation ( } fun List.generateRelations() = asSequence() - .flatMap { it.relations() }.toList() + .sortedBy { it.order } + .flatMap { it.relations() } + .toList() private fun ObjectClass.relations() = methods.asSequence() .filter { it.isChildReferenceGetter } .map { it.childClassName }.filterNotNull() .filter { it.isModelClassName } .map { it.asObjectClass }.filterNotNull() + .sortedBy { it.order } .map { Relation(this, it) } fun List.generateReferenceRelations(): List = asSequence() + .sortedBy { it.order } .flatMap { it.refRelations } .filter { contains(it.childClass) } .toList() @@ -110,6 +115,7 @@ private val ObjectClass.refRelations: Sequence get() = .filter { ! it.isBackRef } .map { ForwardRelation(this, it) } .filter { it.childName isDisplayableChildOf it.parentName } + .sortedBy { it.childClass.order } private val ObjectClass.referenceMethods: Sequence get() = declaredMethods.asSequence() diff --git a/o11nplugin-contrail/src/main/dar/resources/images/address-group.png b/o11nplugin-contrail/src/main/dar/resources/images/address-group.png new file mode 100644 index 0000000000000000000000000000000000000000..b35aeb7d577b91e4fc360aaefa7c394cb5bad88d GIT binary patch literal 801 zcmV++1K#|JP)VGd000McNliru;syu`5IM#C(&+#I0}@cd+rGq9Q7i#jMXuJ!oEL<}LGL3JRvX|E~J0YP!2%mZc;g zunyE5pc&WOk#Cl7aS^wcS9I=$;td&Nv6&T{6Pn*9Jm^St=EBCV2%5eZw9JG zr-?PLD`f6kgq?Y!1^lwZ^sN{S$h3Kp25a;G}3axtrt|_7tJaJp~i6#{B{=Cvbk+8aJ5qDn1PSEWr6! z;CP~|ShDaJI9mXLGuF7V!~{gn10VBn{w~+j#(^el+$Rs;1*EKT9p0P*o=WM`y2vYQqcv_I>Mhvn zeczEtD?GB9ry%SF9F#68<>&pI!je|>2s;*(uEd~Zg8BZ6-kch)?r|tJ*F%)Ru-?5Z^ z-8FTIgH}!bg<)o8pSku0X~`d0{idc-d1{QQOx8l1-;C@f4rsia z&sK2n9ka99>cpPOXAU&vZMj^*61$o~q~RXpw(GGE_Lv?J*};6S`9*j-!@1kG4=nlm z8+U##`#xQ44sQZeNN3w8#y#bM%%QW-h2=RiYA~=q*w0Y&jZ45q{x^$7>~ljarZ^+E z`Ro^W=^ls{xN2vw!u_YP)OXK`C899u z5%d}hD~T9cM|`l%?wcR)JMVpG_B~i-Ddlw} zMoj>xfpVvD1!M@=2rL4Rfr{1cXDP?{W#DR`H~$ehSn?Pz1MlVYnxJj7z7?#?XL8?&BUmq62kjdyD8DV0bT&d2Rw6zrCp5V>Mhc~N)=YS zd3oLH^FRu!)wT--Y|4yl0@iBxyBBnw05rw;9^hrp{2FkwuK<8gzyn~j#{;zjwk8sz zMv4GvNxZ%Try_9Sm^|&$@BtXic!0#HQI7}mWCd8T+WpGt9|3b2-IH!Oun(9oxZ5gl zE~A^Z+Eqe0@F9l-ojg#BLBiM^2tEa|I1qdf>;)Dga3CxMz!Gq$pa*7p3BfGY%Y)Pw)SvBp1zG8zFB3p9|tR0954Y zJ_n2xBl~fpwCEmLneZS>S}#?nlSsG%;#BFbV7cMgonkm%`?o ir1Ev3YPD literal 0 HcmV?d00001 diff --git a/o11nplugin-contrail/src/main/dar/resources/images/firewall-rule.png b/o11nplugin-contrail/src/main/dar/resources/images/firewall-rule.png new file mode 100644 index 0000000000000000000000000000000000000000..dd413ac627e3f2044f531beaac67b8f3ac2d826c GIT binary patch literal 764 zcmV~d4tSJKd1GH*s`hpV>Dry0;!15B%Nnn?j z=3OuXLPfQ}D6k?S-%+4ROEXmpSe3<5i1p$TAvG#OxnRYTWK zg(Q%6{Eu3i=T?NqfTO^egV`ODz(2=dCRDUEri6Lm*L=RPqy%0$em!tksA!#S(!D^V zE7u_j-1Ni_0V6_1Lx8X2v%v^xX@-EyMW$(!C*31JeE!AG!p-1|0zQ17GJ;hMI(@ z?6KWmu=iS;wit=;LPei|)#VPlq#2k7HpiaBLPhBq!A6f<=YnMb=mCy7#9s&%J+U%< zz_Zq1NCLg~XQLq&s|DJM;C}$OLMq`D(CYaC@!3zHLrXImREV@RZ|&Hfo&)y9s$hS` ugh;5U9ykLOCSbLld|BX*mS()1_5K6J$hr(East-?00008uebVHW+KYCO+Y)7L#wy?lrnA(a1>Yv`~}o`s|Uh~Q3(?J zrho)MyE1N{xB3CF8R!LG2YQ8EX^SZ1b^`~PTI}&wA5_N81@4RNI?&*)9(~Rt%DDO} zkN`NKjH~xn_XAxbs|UU-bu^t+53%lTz_2_wD&wY&BchCJ0p?ec$b8x3ci<8*1}p>) zkMj{_+|R)3GRnS}JW?m)W56`gQv_;&rj+$PKr`?%&EWxx=yHZP0c%V^$bffaK=K^eCn*ex;(d@knRQbNZ<;8(Fo zgAl8WePnSK7T)Tl)kc8OA{*uG@205HqUT{?p~k!n=4GrmQ6l#g#qqwD=TqV{Yf{wI z$oJoYWou$0Gcq1cQ9dyW-s&!(OBq*?Vt7bQp5`L}Gs6rY6B)>QG|IS8^i&yl2-r1& zF#bcnUy+x}0VA=GT&plQ6va;_f;;g`1hTL(?8R%P5dsghHH%iii0%D5)rOpwSfd8^;g(mekoSAxl45KyxDb)YtshuwUX zqGYjD+sQ`BObPqiKwg);QbZ}~ykDB2O3?@ufQ!KLK)&2teJ43NDpOl-0UuOAVjXZp z(!r8I{;{{Z_eBe$427t z)!k_eqpU>4GW97_8l?8LCi;*D<-Q2%{cnDbFt-b>6l}po0f&6L~-MLD_ oLH;GUAj4JO>X9`0|EL820i&f8v~z`FUH||907*qoM6N<$f+8T$Qvd(} literal 1166 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 AIsgCw diff --git a/o11nplugin-contrail/src/main/dar/resources/images/instance-ip.png b/o11nplugin-contrail/src/main/dar/resources/images/instance-ip.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f3cf328b4b699100cdee0454cccb0884d080e8 GIT binary patch literal 797 zcmV+&1LFLNP)B_a$#ESwTlvxd20Zx-lZUX15mVZ+N z5Xu|{MyO4WSuGz|8_a|lzgP$303%LUdG>nE(1z109zqPAeQ^n@~}fLp+Ct7S`o8#e;;VLJYEfl#J90hJm5281%h zLYazt?piIs0JlSqcy~}9=%~TBW#9in_xm+u{*o=f?^S7E43&5Eu%!@}c11y%zTC(4tg!7lO zVa7+}M2euR1O#Cmm%Rvz0e}a<@d&!d0qI`X2xXonJVDD!^D2KT{+8J_9m9WHfc3uj zt-j7Ejtq8fYgzdGX|ifDdIAhIs1`i8S{|s{khsV^(ZFJ){Dmm2Avp=$sk8C3R?8c) zdqSbi7|>TI<8Q2%dt>*6`9cw^<)Mgt9#?(>Ju9h?WWcp&SqCCh1AxuBa%r~O{lJU5 zl*}{@bpRhz8qZrTr)s*GxOnIRUL`bs*lIZzx3P#yos$u5)=D`N$9QZ85;DW`MQs(=TAV)p9PWu2jb>S1!#1SzyXN*<86a bmqyn=7pT-zR*)lB00000NkvXXu0mjf&{bJ7 literal 0 HcmV?d00001 diff --git a/o11nplugin-contrail/src/main/dar/resources/images/intstance-ip.png b/o11nplugin-contrail/src/main/dar/resources/images/intstance-ip.png deleted file mode 100644 index 4a2a57325d14bbf7dcbee40851f4714627210722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 753 zcmV@4I4pkW+i%vGRT4k(da>gV(Ue67eo-f^ii-6qTur? zDjuZ8_<$G|F+ms8f(IkA;K9=-Lcn8#sR*%|sgQO4xKo@WkI7u?O2AnZk{YeeL5%Li5fNXNu zXf+lzxh%x_dEh$PvJ7PXIT71*6rdPa4+(^8qFn`6zmn1`~v_=uM#`O>9?g;rbVFitaQSnCLW6o4u0UEwkY=JxkMsjlg%xJYI>N;Kl z{LBf!YT!%gb!>r*0=GKs{FKq^YV4lS5pn_;?vV3oqt%YEOU17h-xtB>apeb4wdo~E z1OR$0h++l+>w#v__d!%!?v~B_v@C73dY$RR!~&@TFB3Z7Z?u|-+gLFd!&(b7^j8AW2F`AWBe0M<8}MFexk`aesATY-x0PAUz;CFbaKC z+T8#E1$jwCK~z}7#g=P`T~`&ye{1c1?wOf8o#`azHAzhqGsQ&E))Fjj!NkS~6qH2T zNzy7-ic%4wp9JxfA4CyRT8oMzDvc(UAci7VrL|3pLLWYoK4O#FnluliajtXk+4c;&z+!hCT3d&RS#rS@d22TcE1KN%uGUzm!E)4ot%)k=AcBm215|>rs--B zmDqY6vwtWe0`bY%sy8mL6W(v|4Po`prw6l;Tx|xXm38I@euWhS5}NN23;$6OQkVVv zv5{Rz>m%bY*vOrKx_TjZ*X}ylI|A?d_#XXRas71yl}mvH zwWXm~v{K!wX7dHC1+_au-7Hx|7Yu)@ z;eYJD%@;*@$DbRx@=Ay{`Om%Yx}bsKyG~KtGkW3dO`m-x)XrbTo<-o=yAKUD+qy<2 zwnC6=I%kq1tB)<+@zjuWUYCa>$ByjVT&%hCiJ?|VRvM^TzSigyMA6W?Zs|u4O{!ph zOulhq&uD$)2R`r44}WB=2qC_HuHBDA%YT_gSC5V#TpyzLRek%kEZcebktoT#JNX`p zQdtF-OU(ZcRv@B2Hoy0eeK&mVExTU)ax~ph{t2m=CTmM0Y99j&AWo%tctia4mtN() zpDDC@KV}7>rs>-N5zEgCRs)=fy&@yKj~fOOn@DJ2+J|7JX2oM}5XmQ=*t)6s;D7Iq zjXV}jw~{wdG7v*!K|nC6LQ=&`@!M5P^!AfyYCp4N$%p4oPP4~2j~SKhwN{?4ecUu1 z1~P*TNU$gp>bHTBOSQ~j-avfcvqs+(FdRA(6|=6WHE3tTF<`2677P(rK6*yF{HSnMfF^Jrk$-^|So8qV_s_TA z=&Tnd0Hk2`ju`V&R0Qi{AWVCnHNil%S(*|7iwo{S3LtSx0L9D$SCxh#1Ao8@>F(_@ zOxLoMDYg`m6F@um?(VUNDTi4`6x`ATND(bM;B~MTNQP<$q7w-}I30^B;1OzI9t5;9 zC-hFjmeIS9d=+GxT_~b$3P=jz#X@F&DAl}ni&(o1iYgJ`DZ>GrWvy>+d8pX@*Uv?B z14x+Kszn`K3L+3%L^p`J0e_4<_n{V5XqGwjH#W`R*jpUId}5QI4kS0>Tqp}+rb+^0 z4ZMcE>$iN%mhbx1gKF}U2})9(Q5sbgL#$yEi(fwX;0?v-&S$^gw#K>Xa-8#VLBaka z0At&Kl$wP(ay7s^;pP4JWB~RHc>52(Ux}vDqt}y2%l7B@wKqLl?ksKG{@qG$6_GA8 lGQhb+j_&_h>q<}M{1+wVUIg6SKlT6s002ovPDHLkV1gu?> delta 326 zcmdnVbB$?&WIZzj1B1(wu46zdC%`Af_5c6>jEo?`sZ*yvdi3b{@#9OEF8%T2$Hj}6 z8X6iVPo4?{d-m)J3k$2Mskw6Hij|d>v9ZaWJ9j>P`Yb6a{p!`Lty{Ovojdo?p+m~b z%3fYxA|hgPa&qnM?Q7Srb#``%i;GWBPuJDe^YaT>zN@!w=`P5U;5X^Xl!G%qM=9E>l~|z~K3Tv(0Y_ QE6_S1+ttryol`;+0E|F)L;wH) diff --git a/o11nplugin-contrail/src/main/dar/resources/images/load-balancer.png b/o11nplugin-contrail/src/main/dar/resources/images/load-balancer.png deleted file mode 100644 index 6f74fe4d20f7cf284224c06ecf49c5701dac2423..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 855 zcmV-d1E~CoP);ttC z%B_?`#7Id|Jjh~SP$;?E#qu&o$LZ`^cF#V@y!`$%-`|}1p5M%w-~8cUk|2y$2Vpen zPkcJGLC~JSd|-dVTxco{E%7gCMc@KpE3hR4KI)|MBLJKQW;TJ%Zs|ihwt~PFUoQbC zQdrj@jCQt54R|^p0Rw@0;0`d>p(0cHl-CKw!AE#-fNj7I|J?|b4j2#gcXO4gG&Zrn*i=5WNf8ENbQzeO z0eu4co65`7{)IpdaKTh&HA^4}qcOl5;2p5XRGy^pi-5Rlz)4_;`v80e`XzH8gwbAL zt*ggPWkDu^AdJ=lRVjiKOy#=cgMo)`-(V_X!nX{l0}6oyrm{MLbp-AM!`xJDDl2{= z5QI@F@T!SZUjQ@!%YnJTEmIkjk(#MMI7@DN z@J@jKrj!;1VYJCq>S6-5&1|mq-1Y^EJ?B}{!-E67PW6~Zpl3pV1w2jHz*TP`N!e#A z6^>8wz7H_SR34{Na0eI#Ts4(RDQqQh(A5{f08{yx^%c|rbKJhmRJJFuLTBF1-)Nra zycci=7#XM2R4yg_Rse@wZ2(G5<$Y!=HkCzwl--iS9jo`I^Tqv60dKteCR{>m+ZR%DY?%n94myZtpw)Wm3@ h8n}_12mZ_NN}&J%002ovPDHLkV1h$WeO&+m diff --git a/o11nplugin-contrail/src/main/dar/resources/images/logical-router.png b/o11nplugin-contrail/src/main/dar/resources/images/logical-router.png deleted file mode 100644 index 30e5e0594112463ec7a8034802dfc2dc503bbaf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1275 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 diff --git a/o11nplugin-contrail/src/main/dar/resources/images/network-policy.png b/o11nplugin-contrail/src/main/dar/resources/images/network-policy.png index 35fc13b1bcc403dd0bca7c55c03800923cce7013..c840883c241bb520dc3fd8df8392049dc72b17d7 100644 GIT binary patch delta 1001 zcmV+Om`$=U z*@(|b05h0F7#x~R433*JnoBxKQ>3`d=Oi00StEO+FRz9Fz1=yEd-tPE517?B87;=pbVVmjs6|fnY z10Df(11A`9j3gmL0fOeffg`+JB|zkpkV&<)|-O~ zDKp^SI}P9l@PDWFRYsqvr>}72thfQ2>^Li`Q=pfc2&n zRB*8^n|;7{z$)-^aPj9}?-uX%1z^3&B`_Pis2xej9|abGCNK~D3QY7MZ39>iE?z6; zfb{-3;EN&C_~n3huL8ao2{T}q_Sb-VAM#EsN_9o0Y=2dONy&HLDro8XS#a_79)#Qj z{2&gz5L{gBVS5sIt1P8?LY^$)#I5rZ0#y?G$zE{}E*=IBmxj`MvjuoaWSQ0ZjP+(O zFk!t}2`*l=-c*2xMYi42gGzAmr^MU+YTGI3PJmZ{8Q@%S@$1Zbb3x26TYmuifv36= zG`N`Q@_*wBbwdEw6rt+^+Y;A5bcchP{d&y)3JrOyrTWM&RY_$f}p_6EQa{HqGIvZLcN)6y` zd4GRZ&g8(2gb$m8i|307{0KbWBecH*OBzC&3TL~71G)14j`j@!*$Vsv9Fa3qw-_B< zJTM^1zV9}A$*U>-XlVoY0UxQQH

<5!_H#hNG?^KHLwyrt}mQu_jW!6kI$lz%5|P zdNUndTwMpF2XskIMF-*m9|s2;VktNN0009MNklZ9$<`;N`?%IR&bW?B;SB!6%2Ir+cO^FPn$In2rb zU0Qiows8SYM;p^8fp-c&;6NAG;aOaA5*_~ouj8>UUcyow3ZR8Px;QgY`W=TOLTxOJ z{|endW8Dj^o9O-&|DB3R&&S=^(GBt*KES(Sd;vyrMHu)LZ{z1MG>WTm3MTM;e5bG+ zMd%&IoA@xCT7QaLBjvE99g9A8RdunYs*BfRe_>#sV_j7jPgixZIf#}7`Hy(8s*4R( zT~yeCWf%&lUdBCDU2F*l7Gflc%%L<)UC6U?Js!evkgu)k;*-EuVI1ehK^~~;;*G#A z#f!Ky()0ozt?J@no|Plmh&z(B5#bgJr{-BXmXLpeHGc{D&3G~)zrR6V201)~N2SBM8uZ$Tng6|?F?dM6~e1aB3N@4^MxIHXP)AQDBR)wv}gP zorLg6qd>cj@!3nNcqqa8;Xo^iY+B%x>G+QphJPE{ScP3d-cEi4(#ga?C&5#!-@y6_ z)@#`9#QYe;&Mx-i>O^tiWvAJ*Gmw7cAcK+J|C=Cg#cS~vzQ)*K2FyhAtQ^8>Y`}Y1 zU)9CF<{%p6<}{oUg*R`uuKXCm^KovH|6>l&loRnTIL2oC-+mFz9pFEAfKGhpCF|Lc zK~LomH#wV^(YG-N_T&3mBJW{0-oa<_tUK-j`f=f`O!l+&1m7M*X!^MAooD4gO|h9y g!4qP4PG(j90*m1MX@ZMw*8l(j07*qoM6N<$g5kHK?*IS* diff --git a/o11nplugin-contrail/src/main/dar/resources/images/physical-router.png b/o11nplugin-contrail/src/main/dar/resources/images/physical-router.png deleted file mode 100644 index 548b49b3f4fc5d872c46b0b5066c4bb23d1dbe0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1651 zcmV-(28{WMP)J*e5ViKudHLd1XESY(E! z(!zlR#&O8OkgoEKegQlTtYc7aC*q<@g0faKrVJAo4~7~*k?WB*#%k&S!C2%i9;EJ9c$usjviunI>Uk%nz;{*Pu9z~0i1+1@<+eU$AW4#;b2q}ey%JyX?P zoQ#&mON^RF#{AoVM9u_H99n+Po18OJhO$YKt$?GjmxBJ?wI|ly%sGGqWgTC1t!)^v8$IUV@8wmncORvrh6oTU5y{<6fw(*|&$?EU*(agU*l zsJf*!v0w}TC)LFL$8fb2MUCb7zSUg|GY0U>vesGFCVwL^-#VV|6Z$ zwd~Axl361K^{z43(wqYn8Dq|2`Cc~tQ87CKb&c5pU>XAPxuBJTzMf0AFI@P^3&8OV z1${nmD6ck~{A**BQ`qpwBxvt1Xl0<;(XiS+Jll@oHJ;;&EQ>*^(QM zYadhS1r(LlV~{c zUlHCFIHk(rEKg{GJy&D?7wZu_CBwrVb)YW;-f00yc+RRmAjlI&piq^6VbzyIIU8X2 zf^g^l$s0{8pQ7?>OexH@CH|8k{Uw)wZfPy0+y}87lk*NF{)Z{?K50r(S>?2U9Ib zzchvuXMw>;EU-E=G`G&NHg7;6+8gsfoBsBVp^h~ox~wJ^XvmNYuQ=9zIlVe2$|Oz# zg$Ct3u>5v4>lv7P6OoFVSfDQ5`MyAW38KGN_(?Pz-*sQ{v3TtX(fm6A>+reP_XIx{>0$)l2%77YKkqrmZ8lJCNt0xetFhf?41H%HF za#5}?YxRs8^VYcYRBp`0>d`~X&*kT0!&Th`4378)TFj0_a6pA4z}EEN?sl|5eLoe* zlrKfM@^3a}({Bu)xnGp0fg{hKS~Fw-9FYdVc+~F6W*~CLzdaHQ2*~Sc>_0fxKB$hf zEBpDKAE$8frB54@ZEgOK6!xNQiLPwlFoS+$q&gnDSld?e&*_AkLW##go)qPkNNnY$ z2_2Dd$hQ-S8#TXb40jaW?T+X`xbqDNR=@t;j=+DWoeS#P0w3m? zTVGZ9K-9d`7)~6GmM0#(Q^)&*@y|Dg6NglI8@S+lofS2SU{B7YS#)iSPlgKXLAH-I z9UKN}zItt5YkkksThUO*3S(F{h8KJsY4@M3U)qy*@4fxyuIeUHDpNrBv)*g-f0XJ0 z?tC~s7;JyQ74rh3TR;kc8$cJzUl4AjexgEzB|r&K2n+&8VDzQ&Y@hLToDNEAz3YH- x#ViB8f8uy9mw?|RoF4HFv^;-m%}_3O{|DdPjMxWJe}w=5002ovPDHLkV1fehAN2qL diff --git a/o11nplugin-contrail/src/main/dar/resources/images/policy-management.png b/o11nplugin-contrail/src/main/dar/resources/images/policy-management.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae8ca1a7c4494145d5616770af9ce685d506408 GIT binary patch literal 767 zcmVNo%Z0*pyS zK~z}7y_Y>`6hRb#zdbD$D>Gr)hyzjj?Gy9%Hj@5Qu zYGH^Ucvav$a9FGE0av9^ZzG$m%gO2#zz@6;U=pY%m@fdArBE$v6i2@^Wbr95C54(z1Tdnl=tw7kzKqch0#~|#0(=7+ zKvN3!EAr_W&ZmJoIhPd5(HVzkjq0-7x_c%kI|*lDS5t^$xkeFvVD z5d95HJST-(S_PnMb*abE4+8rv)ui_IKR_)EkwQHOUiQMdj{c#gdL@N=X8t)VF(-DU z7peCHZwAj8@7VPG<5|=(H)G1)8p!0*kj3xdYwP0QQ zfm#?wr5MWj*x(1=N#H?T`nM#r41&jk>>)?5dFXlU`rR%Pr#5As?(FhUjm*3^S~G2 zp&HrxCkL?3cY*r_s;(M&(C7iI^KD>bgh^YCe9A9mH7DRrLjSh03|Qw|z%O8YgjpY$ zP$R#a$Uvt=ybKuR7g`l>odLIi*T8fMmo+sqs9XZ;ya2a>cTtQ!a0pBmxb3KsnPd-G z=f{9qU=jEX^wh{Or&|JE7Wl5K5gY8jh8RcEQzO@sIAEQ>4mdz^%O1D^+ytHg6H$y8 z0cd;_>wIX)z8X15BB6DD8rVBQC02l^YGkiUALW~Hv!u@>;91p;k7d9*KOUNA)H50Y z7e=M?G;&fLn5uhrWB_WU5A;gd?pWtn!?de+9G5J^F;D>>tC8K>_<(i(GVmix^-tgm z&<-N_19$MGr$=@G^Z)<=07*qoM6N<$ Eg2KA~uK)l5 literal 0 HcmV?d00001 diff --git a/o11nplugin-contrail/src/main/dar/resources/images/project.png b/o11nplugin-contrail/src/main/dar/resources/images/project.png index eca29cda130ad259484253b6c116a92287040f07..3cf0bba303f66f2258e0fb761299dce443e80729 100644 GIT binary patch delta 442 zcmV;r0Y(0^2JZuqBo78+OGiWi{{a60|De66laV1Ge+CE#1Uci1mhS)n0eneBK~z}7 z?Uy|$g<%+mFW)iwDGQ~PV*WB4mBm7APc~7Muu%RYn}p#Mok<4WF)%6IF98zI;kT+=X;Og-1GZ(Up?=0-}ORCB^6m^0A|(+v;eU$&U(NNup{ZQU;t*; z4=e#Sf8RKt0ak$-Nza7@B0Tq5WM{rpd4uU#l5lcNk$9t1eu8U z>*iJ8p-fAbCo(3@LCr$7hL1nmB@A%Ci=Yzm%% zxTO2AUR{_6K->#A{7}-Cne_nOj$%13Ddhn#z=)aE0z*KR1M>~wI9o)^lCFU+pxuG_ z9k4Dbl?9kLvqoUS(dgI0uKB3qG%yI%J1{>3wk4%=0X(4D(bg|Yy87INui^MFBQnka kAP>Niq>Iu&prn7NchWp*^gwT0)c^nh07*qoM6N<$g0Sq!+W-In delta 796 zcmV+%1LOSf1G5H@B!3BTNLh0L01ejw01ejxLMWSf00007bV*G`2jT%95Ca>hkRWOR z00PoUL_t(o!|j({h>T$r$A9O%!$#DSWoE1^E23yGl%#y*!o}uN68Q>AC{jLVn7pgF zP&O_^O4-OqZjeZ!Bt=nN2!)NE(Xva}e9ZG47qgqSnc1DSFMl`A-TOTM{^$Sv&+~C! z0Z40dE7(RL&fkd~NJHqG_ev@lRVStw_y-|kbuqPImSLS^dEmHU@1jU($S`0TFt9M7 zvtx#@0Ovt^5WEql!9n`*O@V$dP`}#YK z_Jw!{$uSwKhJW;gbAeq&?N+6HK3@z|wt$^Ma;2)hbQ*iQjd)e@)uR|wJA9wmZvxDi zQ79$x0fEjbhRbVwGw=;)^q!@~aIx}gI%!~@*2w}-FnMLz{tQ(&GqmJ>#Z^ysxDa7O z=(0yjahBzP)3!YVg90zLp*7D1x$T1B{Ca9CIx*|1sej08{shL2&}EPI#Mx^BY2q`% z)&*V{WoT{(Eb!k~n90yeZ9m+J8>a1{Aj!b;%L-RZ>4^36IE`@XPXgOByngU=yya8M zkD8C_-IONQh?hr(Z8EWi-OKVv4mk10FnJjIY(w|Cdfq%2k>vu1P`hSGW4+6r>#egr zI*`)%T7QsffzMAVW~n)8LM>L{v-{=jtD*u@j2x>PY%y3OVhc)H`k2>`CXhIcNp;M= zpY9g{Xt2v*3GiyS%Uvo(auysuyS6X4s+M@GF9L0XoQm?jDC$7ya%X@uQNND*>oqIm zqE2YW`0ft0|McDJ(we-3(G*b&HrkBoU3!Dhl7A*X6P4?9wncw0%zI`DKsrb)7T9RU z@G=OhfT4f~UXAVYPHQ@2#G z0fx*2rT||BI{@ItZq>Ut7b6ppmc(U*c_kqEZ~n`OeYAaurUb&3j#j(a-{*}%w0$gx a@)ZZC=l_no&$Iym0000qR0U^M?gK}ZIJQ34VR8;f9JsZ23wrInmE8pR@NB&cX%KnpRc z1S=asm}10Q5V6ogIFt~B#}FZCjEUMLaM4&e6NY1N_Aa+*lMj|OSBqa0J-WfZsCk8W=G`y^I;=08c&yya!GItw6qkXESgJIOmC^)os%1 z$I|NKe$n9$90Q&>+aJI);Bx~zunA~3LKU3JDHo;nScIYP?BW-3v^*$$p^t56C@Q@<4|l8KH_XS z^;2NRWzcHqF+xqJ7Ng1#I1zV%;mE&7Q!3^jBUH&P>bA7HP;&?Z5u?DhHKc^SMyL;t z{049ZI9$&e2u0iiZq`BGXM~yzi%wl3s3PJzFj^z|M8({%H4CT^F$~;I+4hNgW0kAL z$Y(7h)DUnl!KAlh+p`r=A?6}5=7zuBRhvrdJ6#<}6tEEFfZefz6NotPipmC{6f0&x zr+ZJwx?-=cXoTv|usojz9=PESBh;5_0!{%B-P|Hja4B{z&B}^P&6j}zH}}p6wJ#PQ zq}5|#8=WCO8KJsT51|oi5a@GdwG1pb@RWfi*M4`^a;`}0cp7NY))B=Y-G~{inTmHy P00000NkvXXu0mjf_h?h) diff --git a/o11nplugin-contrail/src/main/dar/resources/images/quota-type.png b/o11nplugin-contrail/src/main/dar/resources/images/quota-type.png index eb6c1cace6f3b9a52c3e7fb0db9e41dd523f83f8..d1335d10429a7bdc8fee5f18e2aa2e8b5bea5697 100644 GIT binary patch delta 721 zcmV;?0xtcF1KtIY8Gi-<0047(dh`GQ00v@9M??Vs0RI60puMM)00009a7bBm000fw z000fw0YWI7cmMzZ2XskIMF-*r2nPuo^h24@0007ONkl4K(4vI}cYh;Ao1RSsQG!-dt3nXc zx{9LKBCkqOgi5L8kIlI-eQ~byRd;%a~fA!9-TAY7_QM}kN9c|q2h={pu0GW9_GhfD& z_!-aRP((aBB|yXZava2m4fB!4{R4R8PN~bx@9_k_!hcd6=moDD&MSOYoPUW8nfXr( z0Bntjg&iRN#Cq(*Blt8Trr$0C+e?mrz(|jC_z^c7{TX<(OA%-0bp(FG(|G+qMHmr_ zaI94Mn#?@hQe3Cd%;R;e%*>M=-=^gS;wqM8=K0A8yoOnLzs-3|8iq@?>lld>*js#! zLRIpy5q~%E&K>qRa+|SNBI5BrzP_XQ7n>qtMul~li*GY?;w}J&u&a+KTqtkaEUc^W zLa}|^Vg1pT@#i99Z68tiq_iUy9-iXqdg;&Nj~4T;J^;R({FhXCsC0hqxVQ~;O+>8f zxW~ED&abc#SMd8i0%-h%x_q3jVBR#0;ZkPa>`Dl*53jb^&h(Ln-IzV(E))@C0fheE1&afa8Gi!+002a!ipBr{0D(|UR7L;)|Nq7(|H1(O#UTH~4*%A3|HKpj z|NQ^wu>a9q|HU2u>bU>NF8}@a|IkL;#2d9Y_EG010qNS#tmY3ljhU3ljkV znw%H_000McNliru;sGBC4HoR_j>7-|0E0;D%TreHvSAd39p6T%ULvmG^`J z-^#e*$d-EsSVwc+STCBR@YVt+lS~_w9Cgyfc|nu6=$D>A_B0cKA?v#@;J_s;*9sr} Z=qD)V0n8xr&r|>a002ovPDHLkV1o1!#~A`6+sZke|s+)lMs3MK_U_q8$m?Gvk_4t5UvoFfQ`cQ0;1TYPza7y(8DPXTCGT6SUuc%b}t zUlAw(zxDe76o3stpHB?z0-hyA<4$aM6aL0krI(%9!HUrMID)`>;3Kf$#4bj+zPVA~$c0rECj{;YK7GMQ%FpT2+X^SVqKcMWrdUhs<153aXuu|zapc!a$V#_J> ziomQoQ+J)90YJ?;u|L!afO!pby>UwElQg3|4jcwd7{%o$N!fh|@L56E z?8GkAv1^aQg*o3;t9L56T7!^I-J-7uv$%evmy|r6c3yA z`7GtQZ~*3Y?pk0=A}#qHPy`#`v5NXL&U$iGJoy4VtrQ_y^G%K29|vv$Gfr%0gU|0p zy*CzsOHS-?CI}OV?gZ8Vld9VRyvn-svzn1yr=aRg157%x+k6y?fwoJ1+BCe^(z(l5 zr5b3j22gThH)`Ep45PT!mjg5UUkszTU7H5dp4xxyz>xlr0N=G^8TXljX}wNIfp@?$ eC$`&{1AhTj-0(9H1B_Y#00006{jR_BU&f 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 diff --git a/o11nplugin-contrail/src/main/dar/resources/images/service-group.png b/o11nplugin-contrail/src/main/dar/resources/images/service-group.png new file mode 100644 index 0000000000000000000000000000000000000000..8c13e35e3811943dc2e127302959a0049484da34 GIT binary patch literal 951 zcmV;o14#UdP)VW6K zeW1e`|B5oMTmtxZpcAM}IR6zm?2PaJF9ftzJAsS9)Dm~bfrHNY&TkDa3e5-l zB`8C8>~qFn$)Z5VMBo6<__sh)I0FwN=##;615R zUIolA(x6(L@dHvBj{(bt=y#wOIO>ca{?~4}2RI**m}q?k?gCqj?0*LiIpez~BoHWZ z8kk<>4{re*fEkk@IR+eX#$TpHFcpeT7tjD)7xslzdjhnH&s*f>Noy3i2K)+aQ-JgG zxY7zlYUF@w;6t2h+NzrgvX2AJ&iFoURUL3UO4%`BZ(*p(rA;3RxN}9ezW}w)_)n6` z{lMZVuy;7)Z{$h8jwQUDpjcIjJ3X)wcp2X$`n)+PR=1t;4}+L` zAtXkEJF|g~v*5RDFy7YZN<1^@s6b9#F8ks&dE1_%ch3B9M*kN^M%nn^@KR9M5cmU~cC z*B!^d=RWrRV3)@V7H|O}3@F40h@dP>d=MY)M4e`uklL4V#?IKJo$9oire=mtYMr#E z)3j;LbgI!9iiy>PMxx6~7`5RMQ-L545m_Sdgp-Mjam{^2rRcZ!19{{A{=&Tr0t z_j7)a`@1Z{jSxlBli%H-Hs|DUDs8uKWPqmspeilCc-zk@=*^kI-YG=cNcbkcWc%u@ z7vHFn852_cqhIE^x>`Muq!$v(cI=bHlFLFk~l~h4vb9EqE3CR zA--hWzM#t)aCbJ}!T-Uyq7xl#z&X5s$K&W8HJl z0^@gg>vPwZNnIXHf;wkK+N;A7%7`A7cwT6rU-YmT?w zSzh&iYWR6^P5*Yw1sAp21zK7=ksn#SU%3dCNogDi!vg>#S86!5j=L{RDy@w0vU_W# zhSO%PV4?-U>T`?Y%-??Lukpoy6_r#F!D|gl?_jq>^|ht91=lz-_8rNEB)+0dG$#W9 zmBc;51xmHRLz}gtO`V$k4OMb_ zY|t|;3T|f~VL7cfYsKpDOVYk~$h2rvoWPOCS&I$Jx1sj(ilId>hW*69h$ULE@A zcryUxy?XAz=LfgH4qyg<0QA{~T27_oK^RD)P%;ak&n+?PmlZuFdZx|}p8NCI|Ez)V zjj>?Uvbf@H&r>m|_w;qF9jZHdnvp9Z~A!hfdKQgjIxW~>xARgxL;KQ2mv7^Y`P*aG3@e>I<_|L zDg5N2!)Tt?;~nUK?m$R~iegX-`1+@NZ`61OZhj#8y}eZWZxcuX-@8qF3a>@$yCFAi zc&5-=@Ap~l0xh%o#Dce4KLijP=A$b*+4+z128miP2kE+V!@}}kz4sgd#Y6uG=CZ|K z-y55>e0=e|}_)(;0a}7|aaycS%0a z6;<-m9$T5b>b^Fd-^?T?My`BOV}5KY6{UOW20$2gdaUvMjY#)Zf4b_M?rZ>ezmWCK^!QJ|zp4C9Wv0B})IJ;OpSAz!QCUnJ3razQ z0V?^XpYrr~R?Ikho2_<1X0;3NSna|kt6eZW(pX(veXC1hN?8gD4;6*|Q|(v(HhA{U zxWME{U`gfAP8e5~KS?DKgkk)yn=MB^Kd|*sU}8jnu-XL~fHMHLhOYW#!ELC^Srbbb zmIW{ZV0V4F@-0KYMI5%hJLGJwpD?a0{~eV?F9>l{iv65QHlvx^f?LkY71aQ?hq*NZs90zO)PykO zgfL})UPsp;01%Fk3FY%l=#{Wp_!@Wj^)r{&Gm_OV$QYUYOoaGl0Gn+Ve!&qy@~$5x z#je>rdHu(my`k4O09Y3~{usbkn}rVmK*6yVl{$S{H6dh6g!mSlh4(z_EST*cDFjdp zpd#$-0{}Zh>&TqnC;n9c!t<@Bl-3eL)<-}{;9=rX0SG~;0GtP4ox`OOK!wf1Pe)@M zFBD=<@u&jK0r5cbr~}N_1c1|_?bDGtkF@^)c;U)kuQd!L00000NkvXXu0mjfbJl8I delta 2080 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 diff --git a/o11nplugin-contrail/src/main/dar/resources/images/service-template.png b/o11nplugin-contrail/src/main/dar/resources/images/service-template.png index c4423c7a9e569be5f582b3ef7770ff0935202065..a55bd665c202b17e6d0dea227f515d64e290ff66 100644 GIT binary patch delta 1321 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 D3DwH^ diff --git a/o11nplugin-contrail/src/main/dar/resources/images/virtual-machine.png b/o11nplugin-contrail/src/main/dar/resources/images/virtual-machine.png index aa0992bcbf445b72df64e4cb327215539831c4a3..7697cd2fa0493ceed79ea2676687c51f3d7c4185 100644 GIT binary patch delta 336 zcmV-W0k8g)1DOMmQhx>r1|$e364*ch00AaRL_t(o!|j&6ii1EDg-@0h!D@HEIN zih9G!VgRcHyx(`O*DLZoUo@dC%iuU}9N>ID!?x{30S<=)wtw60IKUuL6tUawW=-sQ z9_qTD-hx4d5LlKqE5PY=Vz+<+FaQR?0RF*uJg8|JIF2)GqOR+{4^UMVj>qFm9N64f z#h1$kaU4$u1VI4b_eaM}(*&h-GG5a(@H{{6fFKAk3}bSEq9`7YQA(f2Pde~OuIr*K z%iH#3SvERP*GY8{LI42!{T_;<{O%BbRgxqK!|>_6D2i@vRaNJ6AWc)WZTll@B}w{J i`~3-ky@U*4Nqqp3;$V^4BxM2s0000VHhHcqSZ0eG$D%OZoI0hplN#D0fu3qY1-}rWm#?lh@$v3e%FC5d7g)=ssI3W zU88B5O#qJL07L+WVL+DUpB=)_O4Afcl02Q4=lOeEQIz8x$g&Jw*L}-cK@dLFe!l`B dFChUqQ*TgjW|Y@12(thH002ovPDHLkV1g=LmgN8d diff --git a/o11nplugin-contrail/src/main/dar/resources/images/virtual-router.png b/o11nplugin-contrail/src/main/dar/resources/images/virtual-router.png deleted file mode 100644 index bea10d67be2fa3873a19e56cb12fe9bd35580ac9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 801 zcmV++1K#|JP) z002N>0ki#z-~a#s2XskIMF-*m9uGJ!+UxH;0008ONkl0s`$1F+*v8;)xc`-Yi0wy!H2A0sv+A zW2-03oukFy4-N*db8sU`2_U5Vu6$_444oyu7K_Vn|ADYfffIJ-uzzPtXVr{-xAvRp zm0LZ*WWnA8{%q>LTD!C7^m|n`&-Tk7k5-<4u^dSBP2k+}?}l3Y*#@&mC~x5_I$GPQ zTQ@kdu_{=;Y=z!m$E1QvcJ#A+!^#!wH`TuFE*`nwRF^9QgvH;u26?}B-=T2!Yj={| zCE7|`C~U4gY?9o-7sN*j^$~mP7e-|sik0nqOpr9b6*j#-bs~GQcPCl~Sbr#d(t2i@ zu$e4vOV-A=d#+H6baVF> ftpKVIj6T3W84D+IuvT>X00000NkvXXu0mjfiMf3V